传送门bintray-release,下面开始一步一步发布一个库到
Jcenter
中
首先 在主工程(根目录)的build.gradle
中的添加
repositories {
...
jcenter()
}
dependencies {
...
classpath 'com.novoda:bintray-release:0.8.1'
}
第二步在待发布的library
中的build.gradle
添加
apply plugin: 'com.novoda.bintray-release'
publish {
userOrg = 'yourUserName' //bintray注册的用户名
groupId = 'com.github.sunrise' //compile引用时的第1部分
artifactId = 'Test' //compile引用时的第2部分
//总体引用后为 compile 'com.github.sunrise:Test:1.0.0'
publishVersion = '1.0.0' //版本号
repoName = "yourRepositoryName" //你要上传至bintray仓库的名称,如果仓库名称是maven可忽略
desc = 'anything you want' //描述
website = 'anything you want' //网站
}
第三步在androidStudio
的Terminal
中输入以下命令,稍后出现BUILD SUCCESSFUL
即上传成功
./gradlew clean build bintrayUpload -PbintrayUser=yourUserName -PbintrayKey=yourAPIKEY -PdryRun=false
文中的yourUserName替换为你注册binary的用户名,yourAPIKEY替换为你的key
你的API KEY可在下图找到
上传成功后可看到
是不是此时已经忍不住试试,然后发现[what the fu...]报错了!!!先别急慢慢往下看,没耐心的可以直接跳到看最后一步
当然很有可能是 BUILD FAILED
红红的字眼出现,不禁会说句“fuc...”突然想起我是个文明的人。。。嘿嘿嘿
别急以下是我出现的问题,大家可以对应着看看:
问题描述一:
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
解决方法:在根目录的build.gradle添加
allprojects {
...
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
问题描述二:中文注释导致
解决方法:在根目录的build.gradle添加
allprojects {
...
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
}
}
问题描述二:中文注释导致
解决方法:在根目录的build.gradle添加
allprojects {
...
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
}
}
问题描述三:
> Could not create package 'xxx/xxx/xxx': HTTP/1.1 404 Not Found [message:Repo 'xxx' was not found]
解决方法:
"仔细看上传时的repoName"
"仔细看上传时的repoName"
"仔细看上传时的repoName"
重要事情说三遍
repoName = "sunrise" //你要上传至bintray仓库的名称,如果仓库名称是maven可忽略
最后一步
同步到Jcenter
,耐心等待审核(注:版本升级不用再次同步到Jcenter)
审核完成很开心,又可以愉快的撸代码了(说完突然好想哭)