Android studio發布包到 Bintray 遠程倉庫
以下用到的工具和命令都是Mac系統下的
1、注冊
如果沒有bintray帳號先去 https://bintray.com 注冊
2、創建簽名
下載 gpgtool
創建證書
創建證書
在終端輸入命令,獲得公鑰 ID
gpg --list-keys
獲得公鑰
上傳公鑰到服務器,繼續在終端輸入命令
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 證書公鑰
生成公鑰和私鑰文件,來配置bintray的 public key 和 private key
在終端輸入
gpg -a --export email@your-mailbox.com > public_key_sender.asc
gpg -a --export-secret-key email@your-mailbox.com > private_key_sender.asc
把命令行輸出的證書記錄下來然后打開https://bintray.com/profile/edit
進行配置。
設置 bintray maven 包自動簽名
3、創建maven倉庫
新建一個maven倉庫,這里的name到時候要用到的
到此Bintray的配置就好了,以后就可以直接使用了。然后就要轉到Android studio創建項目了
4、創建并配置library項目
在project的build.gradle配置
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
5、配置library module的build.gradle
添加插件
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
添加版本號
version = "0.0.1"
添加項目地址
def siteUrl = 'https://github.com/ldoublem/LoadingView'
def gitUrl = 'https://github.com/ldoublem/LoadingView.git'
定義group,要唯一,一般是用包名,可以去https://bintray.com/bintray/jcenter 查詢
group = "com.ldoublem.loadingview"
定義pom并打包aar,javadoc jar和source jar
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging 'aar'
name 'code For Android'//描述信息
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 ''
name 'ldoublem'//你的名字和郵箱
email '122710260@qq.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
}
javadoc {
options{
encoding 'UTF-8'
charSet 'UTF-8'
author true
}
}
artifacts {
archives javadocJar
archives sourcesJar
}
6、設置local.properties的user和apikey
設置local.properties的user和apikey,防止信息泄露,記得使用忽略文件將其忽略提交。
7、配置上傳maven倉庫
在library module的build.gradle配置上傳maven倉庫,從local.properties讀取user和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 {
repo = "maven"
name = "loadingviewlib" // project name in maven
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}
8,打開Android studio Terminal命令行執行
./gradlew bintrayUpload
如果成功會有提示,如圖
9、完工
最后到bintray的項目頁面提交審核,一般工作時間半個小時左右,成功后就可以使用gradle獲取網絡庫了
compile 'com.ldoublem.loadingview:loadingviewlib:0.0.1'
group+ name+版本號
升級只要將build.gradle版本號version提高一個版本,然后再次執行bintrayUnload。