目的
发布自己的android library(也就是aar/jar)到公共的jcenter仓库,所有的人都能用gradle最简单的方式引用。为什么选择jcenter,它兼容maven,而且支持更多形式仓库,android studio最新版本已经默认jcenter了。
环境
Android Studio 2.2.2
参考文章
在这个基础上,修正一些导入库问题。
一、注册账号
在 https://bintray.com/signup/oss 上注册一个账号。我是以github账号直接登陆的。
注意看上面的地址,直接使用,首页那个按钮是坑货。
首页企业注册按钮
这才是真的个人注册页面!
个人注册页面
二、记录API Key
复制明文API key,后面会用到。
然后创建一个Maven仓库。
注意名称必须是maven。类型当然也是Maven。
三、新建项目(以RxBus为例)
在Android Studio中New一个Project。完成之后在RxBus的根目录下会有一个build.gradle,在buildscript/dependencies中添加两个classpath:
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
这里注意 版本太旧,会报错。
这是两个帮助发布项目的插件,完整的project build.gradle请查看这里。
四、新建模块
在当前Project中New一个Module,比如我这里叫rxbus,是一个完整的Android Library,就可以以aar/jar的形式发布了。完成之后在rxbus下也会有一个build.gradle,这个build.gradle是今天的重中之重。
五、构建build.gradle
默认的build.gradle大概是这样的:
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 9
targetSdkVersion 25
versionCode 1
versionName version
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
compile 'com.jakewharton.rxrelay2:rxrelay:2.0.0'
provided 'io.reactivex.rxjava2:rxjava:2.0.1'
provided 'io.reactivex.rxjava2:rxandroid:2.0.1'
}
下面我们一步步修改补充这个build.gradle
1.添加插件
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
2.定义版本
version = "0.1"
3.定义相关网站
有单独的官方网站那是最好的,没用的话就用git网址就可以了。
def siteUrl = 'https://gi