Windows环境下,AndroidStudio发布包到bintray

前面的废话

第一篇文章,不分享具体的技术。只想谈一谈AndroidStudio发布远程包到bintray。因为,遇到的坑。。。实在太多了!我相信很多小伙伴也是一样的,有苦难言! 其实网上的资料不少,但大多数都是大神翻译过来的,有些看似简单的细节,却被一笔带过或者忽略了,而这些细节往往决定了成败, o(︶︿︶)o   多么痛的领悟!  好啦,话不多说,直奔主题吧!

第一步:注册bintray

不要小看这一步,坑多着呢!

注册地址:https://bintray.com/signup/oss

这个很重要!很多博客上没有说明,很多人直接都去https://bintray.com这里注册了,这里注册的是企业级账户,30天内要激活,否则是无法上传到jcenter上去的!oss上注册的是个人用户,无需激活,马上就可以使用。PS:国内的邮箱好像不支持,试过QQ和网易的都不行!建议用gmail或者hotmail,亲测有效!

第二步:新建仓库

登录bintray之后,在你自己的主界面点击 Add New Repository

第三步:填写仓库信息

很简单,要注意的地方有3点:

1、仓库名称:在AS里上传的时候会用到。

2、类型:直接选maven。

3、证书:直接选Apache-2.0。

第三步完成之后,bintray里要做的事情基本就完毕了。下一步我们要做的就是在AS里面上传包到bintray上。


第四步:新建Android项目

这一步很关键,新建一个project很简单,但里面的配置很繁琐,容易出错。别急,咱一步步来!

一、在项目根目录下的gradle文件(project的gradle)里面,配置bintray和maven的插件。主要问题可能是插件版本兼容的问题,如下图:

二、在项目根目录下的properties文件(gradle.properties)里面,配置项目的信息。


三、新建一个library类型的module,我们上传到远程的代码和资源都写在这里。

选Android Library就行


四、在新建的module下面,新建一个gradle.propertise文件

这里主要是用来配置项目的信息,除了PROJ_NAME能上传到bintray,其他信息都没上传上去,但不影响整体进度。这里我们可以先忽略~


五、在project的 local.properties文件里面配置bintray的相关信息

bintray.user就是网站右上角的用户名,bintray.apikey可以在网站里面获取。

六、在module里面新建一个bintray.gradle文件,名字可以随便取,module的gradle文件要引用它。

applyplugin:'com.github.dcendents.android-maven'

applyplugin:'com.jfrog.bintray'

group= PROJ_GROUP

version= PROJ_VERSION

install {

repositories.mavenInstaller{

//这里是生成pom文件,需要配置的参数

pom {

project{

packaging'aar'//生成的包的类型

descriptionPROJ_DESCRIPTION

namePROJ_POM_NAME

url PROJ_WEBSITEURL

//设置证书的信息

licenses {

license {

namePROJ_LICENCE_NAME

url PROJ_LICENCE_URL

distribution PROJ_LICENCE_DEST

}

}

//设置开发者的信息

developers {

developer {

id DEVELOPER_ID

nameDEVELOPER_NAME

email DEVELOPER_EMAIL

}

}

//开发者和项目附带的地址

scm {

connection PROJ_VCSURL

developerConnection PROJ_VCSURL

url PROJ_WEBSITEURL

}

}

}

}

}

task sourcesJar(type: Jar) {

classifier='sources'

}

task javadoc(type: Javadoc) {

source= android.sourceSets.main.java.srcDirs

classpath+=project.files(android.getBootClasspath().join(File.pathSeparator))

failOnError=false

}

task javadocJar(type: Jar,dependsOn: javadoc) {

classifier='javadoc'

from javadoc.destinationDir

}

artifacts {

archives javadocJar

archives sourcesJar

}

Properties properties =newProperties()

properties.load(project.rootProject.file('local.properties').newDataInputStream())

bintray {

user = properties.getProperty("bintray.user")

key = properties.getProperty("bintray.apikey")

configurations = ['archives']

pkg {

repo ="MySecondLib"// 非常非常重要!不要乱填写,否则会失败的!它对应的是bintray中的仓库名称,就是bintray用户名的下一级!

name = PROJ_NAME

websiteUrl = PROJ_WEBSITEURL

vcsUrl = PROJ_VCSURL

licenses = ["Apache-2.0"]

publish =true

version{

desc = PROJ_DESCRIPTION

gpg {

sign =true//Determines whether to GPG sign the files. The default is false

//passphrase = properties.getProperty("bintray.gpg.password")

//Optional. The passphrase for GPG signing'

}

}

}

}

七、在module的gradle文件中,引用bintray.gradle文件。

八、执行gradle命令上传包到bintray。

执行gradle命令的时候,最好先确定当前项目的JDK路径与环境变量的JDK路径保持一致。否则,可能会因为多个JDK环境导致执行gradle命令失败,本人就遇到过这个坑,弄了好久才解决! 至于JDK的版本,建议用最新的1.8吧 ~

绕过这些坑之后,直接执行 gradlew bintrayUpload 回车。一切顺利的话,你的包就已经上传到bintray上去啦。是不是很兴奋?

第五步:上传到jcenter

最简单的一步,直接在bintray里面 点一下Add to jCenter。 大概2-3个小时就能收到审核的信息,通过之后,你上传的包就能供全世界的小伙伴使用啦!很厉害有木有! 想起来还有点小激动呢  ! o(∩_∩)o    


在我们项目中引用的方式就是  compile'com.ffzx.maven:ok_ffzx_lib:1.0.0'   是不是有点成就感?还等什么,赶紧动手,早日开启超神之路吧 ~~~

其他的坑

如果你的源代码中有中文,那么恭喜你,很有可能会上传失败!因为gradle默认编译的是GBK格式,需要修改为UTF-8格式。

在项目的build.gradle(2.0版本以上)文件中加上

tasks.withType(JavaCompile) {

options.encoding ="UTF-8"

}

除此之外,肯定还有别的我没遇到过的坑。所以希望大家早日发现,多多分享,共同进步 !

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容