Android Studio发布项目到Jcenter仓库步骤

栏目: Java · 发布时间: 7年前

前言:Android Studio中把项目的lib库提交到Jcenter仓库中,需要使用到Bintray,Bintray是jCenter的提供商,他支持上传lib到多个平台,jCenter只是众多平台中的一个,形象的说jCenter是位于某地的仓库,Bintray是送货的卡车,你写的库就是货了。

第一部分:在Bintray上注册账号,并创建package。

注册bintray ,注意:注册时尽量使用国外的邮箱,避免接收不到验证码。例如我使用雅虎邮箱。

完成注册之后,登录网站,然后点击maven。

Android Studio发布项目到Jcenter仓库步骤

点击Add New Package,为我们的library创建一个新的package。

Android Studio发布项目到Jcenter仓库步骤

假设你已经注册账你并按照上面步骤操作,或者使用我提供的账号,登陆成功后会出现如下界面,点击maven进入该仓库,并点击Add New Package创建新的包。

Android Studio发布项目到Jcenter仓库步骤 Android Studio发布项目到Jcenter仓库步骤

填写package相关信息,如下:

Android Studio发布项目到Jcenter仓库步骤

第二部分:操作AS项目,配置相关信息,命令行操作lib包上传。

Android Studio安装上传Bintray插件和填写相关信息:(下面选用我测试通过并且操作路径最短的方式)

在项目的根build文件中补充如下标红内容

Android Studio发布项目到Jcenter仓库步骤 这是根build源文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
  
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
 classpath 'com.novoda:bintray-release:+' // 新增
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
 }
}
allprojects {
repositories {
google()
jcenter()
}
 tasks.withType(Javadoc) { // 新增
 options.addStringOption('Xdoclint:none', '-quiet')
 options.addStringOption('encoding', 'UTF-8')
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

然后在lib的build文件中补充如下内容:

Android Studio发布项目到Jcenter仓库步骤 这是lib的源build文件:

`apply plugin: ``'com.android.library'`

`apply plugin: ``'com.novoda.bintray-release'` `// 新增`

`android {`

`compileSdkVersion ``28`

`defaultConfig {`

`minSdkVersion ``15`

`targetSdkVersion ``28`

`versionCode ``2`

`versionName ``"1.0.2"`

`testInstrumentationRunner ``"android.support.test.runner.AndroidJUnitRunner"`

`}`

`buildTypes {`

`release {`

`minifyEnabled ``false`

`proguardFiles getDefaultProguardFile(``'proguard-android.txt'``), ``'proguard-rules.pro'`

`}`

`}`

`lintOptions { ``// 新增`

`abortOnError ``false`

`}`

`}`

`dependencies {`

`implementation fileTree(dir: ``'libs'``, include: [``'*.jar'``])`

`implementation ``'com.android.support:appcompat-v7:28.0.0-rc02'`

`testImplementation ``'junit:junit:4.12'`

`androidTestImplementation ``'com.android.support.test:runner:1.0.2'`

`androidTestImplementation ``'com.android.support.test.espresso:espresso-core:3.0.2'`

`}`

`publish { ``// 新增`

`userOrg = ``'huangweicai'` `// 注册bintray时的username`

`groupId = ``'com.infinitus_demo_lib'` `// 项目包名`

`artifactId = ``'infinitus_demo_lib'` `// 项目名`

`publishVersion = ``'1.0.2'` `// 发布版本号`

`desc = ``'Summarize the tools or methods commonly used in routine development'` `// 项目描述,可选项`

`website = ``'[https://github.com/huangweicai/infinitus_demo_lib'](https://github.com/huangweicai/infinitus_demo_lib')` `// 项目站点,可选项`

`}`

在Android Studio的命令行窗口依次输入如下命令:

gradlew generatePomFileForReleasePublication
gradlew publishReleasePublicationToMavenLocal
gradlew bintrayUpload -PbintrayUser=xxx -PbintrayKey=xxx -PdryRun=false

其中,PbintrayUser是Bintray的用户名,PbintrayKey是Bintray的API Key。(API Key在注册成功后,可以在修改信息的界面找到,最好在第一次注册成功后就记录好)

Android Studio发布项目到Jcenter仓库步骤

等待执行,看到BUILD SUCCESSFUL说明上传Bintray成功。

进入Bintray,可以找到我们上传的包,在页面的左下角看到maven地址说明上传内容正确,第一次在页面的右下角会看到add to jcenter,需要我们手动点击一下这个add to jcenter按钮,然后等待lib包审核通过后,我们就可以引用jcenter上的包了。

Android Studio发布项目到Jcenter仓库步骤 以上就是Android Studio打包上传到Jcenter的完整流程。

测试:AS引入implementation ‘com.infinitus_demo_lib:infinitus_demo_lib:1.0.2’,代码中调用演示 工具 类TestUtil.test(context);查看吐司是否提示,提示成功说明已经成功发布并引入jcenter包。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

认知盈余

认知盈余

[美] 克莱·舍基 / 胡泳、哈丽丝 / 中国人民大学出版社 / 2011-12 / 49.80元

“互联网革命最伟大的思考者”克莱•舍基 继《未来是湿的》之后最新力作 看自由时间如何变革世界的未来 如果说《未来是湿的》揭示的是“无组织的组织力量”, 那么《认知盈余》揭示的就是 “无组织的时间力量”。 腾讯董事会主席兼首席执行官马化腾首度亲笔作序倾情推荐 克莱•舍基说,美国人一年花在看电视上的时间大约2 000亿个小时,而这几乎是2 000个维基百科项目一年所需要的......一起来看看 《认知盈余》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具