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

作者:Hans' Blog 时间:2022-12-21 13:50:54 

前言: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仓库步骤(图文) 

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

来源:https://huangweicai.github.io/2018/10/21/sendto_jcenter/

标签:Android,Studio,Jcenter
0
投稿

猜你喜欢

  • SSM如何实现在Controller中添加事务管理

    2023-11-29 07:23:18
  • Android 中SP与DP的区别实例详解

    2021-12-26 22:43:13
  • Android天气预报app改进版

    2023-12-04 05:54:07
  • Java利用endorsed如何覆盖jdk提供的类详解

    2021-05-30 08:26:33
  • 自己动手写的mybatis分页插件(极其简单好用)

    2023-11-01 18:12:09
  • c# 多线程处理多个数据的方法

    2023-12-01 17:45:58
  • Java增加自定义注解进行校验入参详解

    2023-01-05 13:34:25
  • Java中Mybatis-Plus使用方式介绍

    2021-11-14 05:49:56
  • IDEA-Maven项目的jdk版本设置方法

    2022-07-21 16:04:17
  • C#加密知识整合 (AES,MD5,RSA,SHA256)

    2023-07-19 09:09:13
  • Android SQLite数据库进行查询优化的方法

    2022-10-03 09:09:00
  • winform实现可拖动的自定义Label控件

    2022-12-14 09:11:36
  • Java 8新增的方法参数反射实例分析

    2021-11-20 05:55:30
  • Android树形控件绘制方法

    2022-09-05 01:50:55
  • 一篇文章弄懂JVM类加载机制过程以及原理

    2022-01-19 10:32:57
  • C# 通过ServiceStack 操作Redis

    2023-12-13 06:18:01
  • Android中使用Notification实现状态栏的通知

    2022-09-12 00:49:39
  • 在Java中使用redisTemplate操作缓存的方法示例

    2023-07-04 09:03:28
  • C#学习笔记整理_浅谈Math类的方法

    2022-04-11 06:16:48
  • C#控件闪烁的解决方法

    2023-02-27 07:30:41
  • asp之家 软件编程 m.aspxhome.com