爲什麼要上傳 Android Library 到 JCenter
方便 其他 Android
開發者 遠程使用你的代碼 Android Library
。即,通過在 Android Studio
的 build.gradle
文件中添加一句依賴即可
dependencies {
compile 'com.squareup.okhttp:okhttp:2.4.0'
}
如何上傳
1、準備工作
1、註冊賬號
爲什麼要註冊這個賬號呢,因爲 jcenter() 屬於 bintray 旗下的一個倉庫
注意
1、進入官網,點擊 Start your free trial 註冊的是企業版,我們需要的是個人版,所以直接點擊我上邊的鏈接註冊
2、建議直接關聯 Github 賬號註冊 & 登錄
3、如果你的 Github賬號是 qq 郵箱會沒有反應,建議 Gmail
2、登錄後,查看你的 API key
記住,一會兒要用
3、這時候你應該有一個待上傳的項目
在 Android中module怎麼用? 中,我們有一個項目,引入了 test ,其中 MainActivity 每次打開都彈出 “見到你很高興”
4、創建一個倉庫
(科學上網)
5、Repo ‘maven’ was not found
如果按照 鴻洋 大神的博客做,不寫 repoName ,會默認上傳到一個名爲 maven 的倉庫,所以會報錯如下
2、引入bintray-release
在你的項目的 build.gradle 添加 bintray-release 的 classpath ,bintray-release的Github地址
classpath 'com.novoda:bintray-release:0.3.4'
注意是項目的 build.gradle,不是 module 的
1 、ERROR: Unable to load class ‘org.gradle.api.internal.component.Usage’
由於教程是按照 鴻洋 和 Carson_Ho 兩位大神的博客操作的,所以他們引入的 bintray-release 是 0.3.4 ,版本比較老,跟我們現在的 gradle 版本不兼容,會報錯如下
因此我們去bintray-release Github主頁看下最新版本修改下即可,目前爲止改成 0.9.2 版本
3、待上傳moudle的build.gralde
apply plugin: 'com.android.application'
apply plugin: 'com.novoda.bintray-release'//添加bintray插件
android {
不變
}
dependencies {
不變
}
//添加
publish {
userOrg = 'lixiaoyu2333' //bintray.com用戶名
repoName = 'Test' //新建的倉庫名
groupId = 'com.lxy' //jcenter上的路徑
artifactId = 'test' //項目名稱
publishVersion = '1.0.0' //版本號
desc = 'Activity show toast' //項目描述
website = 'https://github.com/lixiaoyu2333/test.git' //網站,不重要;如果上傳了Github,就放Github項目地址
}
1、userOrg 是 用戶名,就是我們剛纔註冊的網站的,右上角顯示的這個名字
2、gradle 中 依賴 okhttp時,這樣寫
dependencies {
compile 'com.squareup.okhttp:okhttp:2.4.0'
}
這個路徑形式 = GROUP_ID:ARTIFACT_ID:VERSION_ID
保持你的 library module 的名字同 artifactId一樣,我們的 library 是 test,所以 artifactId 寫 test
按照上面編寫即可,假設按照上述的編寫,最終引入的方式爲:
implementation com.lxy:test:1.0.0"
4、上傳
在 Terminal 中執行以下命令
// 每行命令均用空格隔開,此處是爲了展示纔會分行
gradlew.bat clean build bintrayUpload
-PbintrayUser=lixiaoyu2333 // Binary用戶名
-PbintrayKey=************* // Binary上的API key,剛纔保存的
-PdryRun=false //dryRun是一個配置參數,當爲true的時候,會運行所有的環節,但是不會上傳
命令一行寫完,每行命令用空格隔開
1、Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
由於 我們的 test module 使用的 gradle、gradle tools版本不一致導致的,由於 test 是我們本地項目,查看下
比我們現在的 MyApplication 項目中的版本高,我們修改本地的 gradle 和 gradle tool 版本後,重新運行命令,讓後等待成功即可
刷新下 bintray.com ,上傳成功了
點擊進去該,點擊Add To jcenter