Android Studio 快速发布开源项目到jCenter仓库之二
本篇采用maven插件的方式上传,配置和上一篇bintray-release上传有些不一样,这种方式默认上传的是release.aar,可以配置混淆等等一些操作,在此做个记录。
注册bintray账号就不说了,不熟悉的可以参考我上篇博客,我们直接看配置:
Android Studio 快速发布开源项目到jCenter仓库之一:https://blog.csdn.net/qq_34500783/article/details/80654620
项目根目录:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'//添加编译插件,这是目前最新的
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'//添加上传插件
}
}
然后在你需要发布的那个module(我这里的即是librarysdk)的build.gradle里配置如下内容:
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
// 这是部署工具库时使用的库版本。
version = "1.0.0"
android {
compileSdkVersion 27
resourcePrefix "libsdk__" //这个随便填(资源前缀)
defaultConfig {
minSdkVersion 21
targetSdkVersion 27
versionCode 1
versionName "1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true//我这是开了混淆的,不需要的可以置为false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
//下面是忽略某个错误的配置,但看到日志里提示这段代码时,加上就可,不是必须
lintOptions {
abortOnError false
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
......
// OkGo
implementation 'com.lzy.net:okgo:3.0.4'
implementation 'com.lzy.net:okrx2:2.0.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
}
def siteUrl = 'https://github.com/mdk119/mylibrary' // 项目的主页
def gitUrl = 'https://github.com/mdk119/mylibrary.git' // Git仓库的url
group = "com.lxg" // Maven Group ID for the artifact,一般填你唯一的包名
install {
repositories.mavenInstaller {
// 这个生成POM.xml与适当的参数
pom {
project {
packaging 'aar'
// 在这里添加你的描述
name 'Android BounceProgressBar Widget' //项目描述
url siteUrl
// 设置你的许可
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id 'lxguo' //改成你的基本信息
name 'KekShi'
email 'kekshi7539@gmail.com'
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl
}
}
}
}
}
//task sourcesJar(type: Jar) {
// from android.sourceSets.main.java.srcDirs
// classifier = 'sources'
//}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
// archives sourcesJar //加入可能会造成源码文件不匹配的问题,特别是加了混淆
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "maven"//JCenter maven仓库名称
name = "BounceProgressBar" //JCenter上仓库里的项目名字,如果不存在会新建一个仓库。
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}
直接整个copy过来即可,然后根据自己项目的版本和依赖库进行更改。根据上面配置最终的依赖由:group + module名称 + version 组成。如:
implementation 'com.lxg:librarysdk:1.0.0'
配置好上述后需要在你的项目的根目录上的local.properties文件里(一般这文件需gitignore,防止泄露账户信息)配置你的bintray账号信息,your_user_name为你的用户名,your_apikey为你的账户的apikey,可以点击进入你的账户信息里再点击Edit即有查看API Key的选项,把他复制下来。
bintray.user=your_user_name
bintray.apikey=your_apikey
Rebuild一下项目,不报错的话就可以开始上传了。在Android studio Terminal中输入:
gradlew bintrayUpload
上传成功之后就可以在你的远程仓库看到上传的库了。然后点进去发送审核一下就ok了。
#参考大神链接:
http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0227/2502.html