Android Studio發(fā)布項(xiàng)目到Jcenter倉(cāng)庫(kù)步驟(圖文)
前言:Android Studio中把項(xiàng)目的lib庫(kù)提交到Jcenter倉(cāng)庫(kù)中,需要使用到Bintray,Bintray是jCenter的提供商,他支持上傳lib到多個(gè)平臺(tái),jCenter只是眾多平臺(tái)中的一個(gè),形象的說jCenter是位于某地的倉(cāng)庫(kù),Bintray是送貨的卡車,你寫的庫(kù)就是貨了。
第一部分:在Bintray上注冊(cè)賬號(hào),并創(chuàng)建package。
注冊(cè)bintray ,注意:注冊(cè)時(shí)盡量使用國(guó)外的郵箱,避免接收不到驗(yàn)證碼。例如我使用雅虎郵箱。
完成注冊(cè)之后,登錄網(wǎng)站,然后點(diǎn)擊maven。
點(diǎn)擊Add New Package,為我們的library創(chuàng)建一個(gè)新的package。
假設(shè)你已經(jīng)注冊(cè)賬你并按照上面步驟操作,或者使用我提供的賬號(hào),登陸成功后會(huì)出現(xiàn)如下界面,點(diǎn)擊maven進(jìn)入該倉(cāng)庫(kù),并點(diǎn)擊Add New Package創(chuàng)建新的包。
填寫package相關(guān)信息,如下:
第二部分:操作AS項(xiàng)目,配置相關(guān)信息,命令行操作lib包上傳。
Android Studio安裝上傳Bintray插件和填寫相關(guān)信息:(下面選用我測(cè)試通過并且操作路徑最短的方式)
在項(xiàng)目的根build文件中補(bǔ)充如下標(biāo)紅內(nèi)容
這是根build源文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.3' classpath 'com.novoda:bintray-release:+' // 新增 // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() } tasks.withType(Javadoc) { // 新增 options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') } } task clean(type: Delete) { delete rootProject.buildDir }
然后在lib的build文件中補(bǔ)充如下內(nèi)容:
這是lib的源build文件:
`apply plugin: ``'com.android.library'` `apply plugin: ``'com.novoda.bintray-release'` `// 新增` `android {` `compileSdkVersion ``28` `defaultConfig {` `minSdkVersion ``15` `targetSdkVersion ``28` `versionCode ``2` `versionName ``"1.0.2"` `testInstrumentationRunner ``"android.support.test.runner.AndroidJUnitRunner"` `}` `buildTypes {` `release {` `minifyEnabled ``false` `proguardFiles getDefaultProguardFile(``'proguard-android.txt'``), ``'proguard-rules.pro'` `}` `}` `lintOptions { ``// 新增` `abortOnError ``false` `}` `}` `dependencies {` `implementation fileTree(dir: ``'libs'``, include: [``'*.jar'``])` `implementation ``'com.android.support:appcompat-v7:28.0.0-rc02'` `testImplementation ``'junit:junit:4.12'` `androidTestImplementation ``'com.android.support.test:runner:1.0.2'` `androidTestImplementation ``'com.android.support.test.espresso:espresso-core:3.0.2'` `}` `publish { ``// 新增` `userOrg = ``'huangweicai'` `// 注冊(cè)bintray時(shí)的username` `groupId = ``'com.infinitus_demo_lib'` `// 項(xiàng)目包名` `artifactId = ``'infinitus_demo_lib'` `// 項(xiàng)目名` `publishVersion = ``'1.0.2'` `// 發(fā)布版本號(hào)` `desc = ``'Summarize the tools or methods commonly used in routine development'` `// 項(xiàng)目描述,可選項(xiàng)` `website = ``'[https://github.com/huangweicai/infinitus_demo_lib'](https://github.com/huangweicai/infinitus_demo_lib')` `// 項(xiàng)目站點(diǎn),可選項(xiàng)` `}`
在Android Studio的命令行窗口依次輸入如下命令:
gradlew generatePomFileForReleasePublication gradlew publishReleasePublicationToMavenLocal gradlew bintrayUpload -PbintrayUser=xxx -PbintrayKey=xxx -PdryRun=false
其中,PbintrayUser是Bintray的用戶名,PbintrayKey是Bintray的API Key。(API Key在注冊(cè)成功后,可以在修改信息的界面找到,最好在第一次注冊(cè)成功后就記錄好)
等待執(zhí)行,看到BUILD SUCCESSFUL說明上傳Bintray成功。
進(jìn)入Bintray,可以找到我們上傳的包,在頁面的左下角看到maven地址說明上傳內(nèi)容正確,第一次在頁面的右下角會(huì)看到add to jcenter,需要我們手動(dòng)點(diǎn)擊一下這個(gè)add to jcenter按鈕,然后等待lib包審核通過后,我們就可以引用jcenter上的包了。
以上就是Android Studio打包上傳到Jcenter的完整流程。
測(cè)試:AS引入implementation ‘com.infinitus_demo_lib:infinitus_demo_lib:1.0.2',代碼中調(diào)用演示工具類TestUtil.test(context);查看吐司是否提示,提示成功說明已經(jīng)成功發(fā)布并引入jcenter包。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android發(fā)布項(xiàng)目到j(luò)itpack的完整步驟
- 詳解androidstudio項(xiàng)目上傳到github方法以及步驟
- Android studio刪除Android項(xiàng)目方法
- Android開發(fā)導(dǎo)入項(xiàng)目報(bào)錯(cuò)Ignoring InnerClasses attribute for an anonymous inner class的解決辦法
- 取消Android Studio項(xiàng)目與SVN關(guān)聯(lián)的方法
- Eclipse運(yùn)行android項(xiàng)目報(bào)錯(cuò)Unable to build: the file dx.jar was not loaded from the SDK folder的解決辦法
- 實(shí)例講解建立Android項(xiàng)目
相關(guān)文章
Android直播軟件搭建之實(shí)現(xiàn)背景顏色滑動(dòng)漸變效果的詳細(xì)代碼
這篇文章主要介紹了Android直播軟件搭建之實(shí)現(xiàn)背景顏色滑動(dòng)漸變效果的詳細(xì)代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09android之計(jì)時(shí)器(Chronometer)的使用以及常用的方法
在Android的SDK中,為我們提供了一個(gè)計(jì)時(shí)器,這個(gè)計(jì)時(shí)器稱為Chronometer,我們可以成它為Android的一個(gè)組件,同時(shí)它也具備自己獨(dú)有的方法2013-01-01Android RecyclerView的Item自定義動(dòng)畫及DefaultItemAnimator源碼分析
這篇文章主要介紹了Android RecyclerView的Item自定義動(dòng)畫及DefaultItemAnimator源碼,感興趣的小伙伴們可以參考一下2016-07-07Android實(shí)現(xiàn)關(guān)機(jī)后數(shù)據(jù)不會(huì)丟失問題
這篇文章主要介紹了Android實(shí)現(xiàn)關(guān)機(jī)后數(shù)據(jù)不會(huì)丟失問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10Android實(shí)現(xiàn)EditText的富文本編輯
這篇文章主要介紹了Android實(shí)現(xiàn)EditText的富文本編輯,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android實(shí)現(xiàn)動(dòng)態(tài)高斯模糊效果
在Android開發(fā)中常常會(huì)用到高斯模糊,但有的時(shí)候我們可能會(huì)需要一個(gè)圖片以不同的模糊程度展現(xiàn)出來,那如何實(shí)現(xiàn)呢,一起通過本文來學(xué)習(xí)學(xué)習(xí)吧。2016-08-08Android實(shí)現(xiàn)仿美團(tuán)、順豐快遞數(shù)據(jù)加載效果
本片文章教給大家用Android實(shí)現(xiàn)美團(tuán)和順豐快遞APP的數(shù)據(jù)加載的動(dòng)畫效果,有興趣的朋友跟著學(xué)習(xí)嘗試下吧。2017-12-12Android開發(fā)自學(xué)筆記(一):Hello,world!
這篇文章主要介紹了Android開發(fā)自學(xué)筆記(一):Hello,world!本文講解了創(chuàng)建HelloWorld工程、編寫代碼、啟動(dòng)模擬器等步驟,需要的朋友可以參考下2015-04-04Android 使用版本控制工具時(shí)添加忽略文件的方式(詳解)
下面小編就為大家?guī)硪黄狝ndroid 使用版本控制工具時(shí)添加忽略文件的方式(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01