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包。


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

查看所有标签

猜你喜欢:

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

New Dark Age

New Dark Age

James Bridle / Verso Books / 2018-7-17 / GBP 16.99

As the world around us increases in technological complexity, our understanding of it diminishes. Underlying this trend is a single idea: the belief that our existence is understandable through comput......一起来看看 《New Dark Age》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具