首页 > 系统 > Android > 正文

Android Studio发布项目到Jcenter仓库步骤(图文)

2019-10-21 21:37:16
字体:
来源:转载
供稿:网友

前言: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 generatePomFileForReleasePublicationgradlew publishReleasePublicationToMavenLocalgradlew 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包。

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


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表