使用Bintray發佈library到JCenter中心
1、註冊Bintray
註冊網址:https://bintray.com,請自行科學上網。
注意
個人註冊,一定點擊“For Open Source Account Sing Up Here”,不能點擊綠色按鈕,否則
後期編譯會報錯**“HTTP/1.1 404 Not Found [message:Repo ‘maven’ was not found]”**
注意
關於Email Address,請使用Google郵箱或者使用騰訊的Fox Email郵箱,不要使用QQ郵箱等。
2、創建 maven 倉庫
註冊成功後,點擊**“ Add New Repository ”,創建倉庫(注意名稱和類型**的填寫)。
3、創建 library 項目
演示實例Android 6.0權限工具庫: PermissionKit
4、提交項目到 github
請自行配置提交。
本實例地址:https://github.com/ProgressiveDevelop/PermissionKit
5、配置 bintray.gradle 腳本
首先,需要在項目根build.gradle文件中配置bintray插件。
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
//bintray plugin
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4"
}
然後,在library項目中創建gradle腳本文件:bintray.bradle
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'
//源碼站點鏈接
def siteUrl = 'https://github.com/ProgressiveDevelop/PermissionKit'
//git 鏈接
def gitUrl = 'https://github.com/ProgressiveDevelop/PermissionKit.git'
//實例compile 'com.android.kit:permissionkit:1.0.0' :group+name+version
//倉庫組
group = 'com.android.kit'
//版本
version = '1.0.0'
install {
repositories.mavenInstaller {
pom {
project {
packaging 'aar'
name 'permissionkit'
url siteUrl
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl
}
}
}
}
}
//編譯 Javadoc
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
//編譯 xxx-javadoc.jar
task androidJavadocsJar(type: Jar) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
//編譯 xxx-sources.jar
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
//讀取配置的賬戶與apiKey
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 {
version {
name = '1.0.0'
desc = 'Android 6.0 權限管理工具庫,基於Androidx,非註解方式'
}
//repository 名稱
repo = 'maven'
name = 'permissionkit'
licenses = ['Apache-2.0']
vcsUrl = gitUrl
publish = true
}
}
最後,在library項目的build.gradle文件後面引入bintray.gradle配置
//引入配置
apply from: './bintray.gradle'
6、編譯
首先,執行安裝命令
gradlew install
然後,執行上傳命令
gradlew bintrayUpload
7、提交到 Jcenter
在項目詳情頁面,點擊**“Add to Jcenter”**
提交成功後,等待審覈。審覈後會有郵件通知到註冊的郵箱。
8、問題總結
註冊 bintray 容易註冊成團隊賬戶而導致
HTTP/1.1 404 Not Found [message:Repo ‘maven’ was not found]