Android studio發布包到 Bintray 遠程倉庫

ezxs8220 8年前發布 | 18K 次閱讀 Android Studio開發工具 Android Studio

以下用到的工具和命令都是Mac系統下的


1、注冊

如果沒有bintray帳號先去 https://bintray.com 注冊

2、創建簽名

下載 gpgtool
創建證書

Android studio發布包到 Bintray 遠程倉庫

創建證書


在終端輸入命令,獲得公鑰 ID
gpg --list-keys

Android studio發布包到 Bintray 遠程倉庫

獲得公鑰

上傳公鑰到服務器,繼續在終端輸入命令


gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 證書公鑰
生成公鑰和私鑰文件,來配置bintray的 public key 和 private key
在終端輸入

Android studio發布包到 Bintray 遠程倉庫

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
進行配置。

Android studio發布包到 Bintray 遠程倉庫
設置 bintray maven 包自動簽名

Android studio發布包到 Bintray 遠程倉庫

Android studio發布包到 Bintray 遠程倉庫

3、創建maven倉庫

新建一個maven倉庫,這里的name到時候要用到的

Android studio發布包到 Bintray 遠程倉庫

到此Bintray的配置就好了,以后就可以直接使用了。然后就要轉到Android studio創建項目了


4、創建并配置library項目

Android studio發布包到 Bintray 遠程倉庫

在project的build.gradle配置

Android studio發布包到 Bintray 遠程倉庫

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,防止信息泄露,記得使用忽略文件將其忽略提交。

Android studio發布包到 Bintray 遠程倉庫

Android studio發布包到 Bintray 遠程倉庫

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
如果成功會有提示,如圖

Android studio發布包到 Bintray 遠程倉庫


9、完工

最后到bintray的項目頁面提交審核,一般工作時間半個小時左右,成功后就可以使用gradle獲取網絡庫了
compile 'com.ldoublem.loadingview:loadingviewlib:0.0.1'
group+ name+版本號
升級只要將build.gradle版本號version提高一個版本,然后再次執行bintrayUnload。
 

閱讀原文

 

 本文由用戶 ezxs8220 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!