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。
点击Add New Package,为我们的library创建一个新的package。
假设你已经注册账你并按照上面步骤操作,或者使用我提供的账号,登陆成功后会出现如下界面,点击maven进入该仓库,并点击Add New Package创建新的包。
填写package相关信息,如下:
第二部分:操作AS项目,配置相关信息,命令行操作lib包上传。
Android Studio安装上传Bintray插件和填写相关信息:(下面选用我测试通过并且操作路径最短的方式)
在项目的根build文件中补充如下标红内容
这是根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文件中补充如下内容:
这是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在注册成功后,可以在修改信息的界面找到,最好在第一次注册成功后就记录好)
等待执行,看到BUILD SUCCESSFUL说明上传Bintray成功。
进入Bintray,可以找到我们上传的包,在页面的左下角看到maven地址说明上传内容正确,第一次在页面的右下角会看到add to jcenter,需要我们手动点击一下这个add to jcenter按钮,然后等待lib包审核通过后,我们就可以引用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 ViewGroup中的Scroller与computeScroll的有什么关系?答:没有直接的关系知道了答案,是不是意味着下
- 先来看看效果图如何使用示例代码PromptViewHelper pvHelper = new PromptViewHelper(mActiv
- 延迟队列延迟队列存储的对象肯定是对应的延时消息,所谓”延时消息”是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者
- 加锁和解锁我们来看下ReentrantLock的基本用法ThreadDomain35类public class ThreadDomain35
- 本文实例为大家分享了C#十五子游戏的具体代码,供大家参考,具体内容如下using System;using System.Collectio
- 初次安装Android Studio,遇到了不少问题,这是其中的一个,分享如下,同时求各位dalao关注一下啦((*^__^*) )使用不同
- 前言在 C# 项目中通过链接方式引入文件可以让我们在项目中使用这些文件中的代码。常见的比如链接 AssemblyInfo.cs 文件,这样我
- 前言:今年是我的第二个 1024 了 ,和我一起大声说出来,技术宅改变世界!!!本节主要介绍的是:SpringBoot 整合阿里 Druid
- 本文实例为大家分享了C#实现chart控件动态曲线绘制的具体代码,供大家参考,具体内容如下思想实验室要做一个动态曲线绘制,网上方法很多,但是
- 问题背景通常我们开发的时候,需要联合控制台和Navicat/PLSQL等工具进行语句的拼接检查,如果只是输出了一堆???,那么将极大降低我们
- Token 一定要放在请求头中吗? 答案肯定是否定的,本文将从源码的角度来分享一下 spring security oauth2 的解析过程
- 这篇实例中有四个类,分别为CacheItem 缓存实体类CachePool 缓存池Student 学生实
- 1 Mybatis-Plus简介Mybatis-Plus 提供了多种方式来执行 SQL,包括使用注解、XML 映射文件和 Lambda 表达
- * 的工作原理如图 * 是由每一个action请求(request)都包装在一系列的 * 的内部,通过redirectAction再一次
- java 归并排序的实例详解归并排序 归并排序,指的是将两个已经排序
- 1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,
- 智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制
- main.xml:<?xml version="1.0" encoding="utf-8"?&
- Feign Client 超时时间配置不生效解决方案Feign Client 的 connectTimeout 和 readTimeout
- 在内核编程中字符串有两种格式ANSI_STRING与UNICODE_STRING,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐