搞這個東西也是花了蠻長時間,主要還是對gradle中的groovy語言不熟悉所導致的,寫下來,以防下次再入坑~
創新互聯公司從2013年創立,是專業互聯網技術服務公司,擁有項目成都網站設計、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元江山做網站,已為上家服務,為江山各地企業和個人服務,聯系電話:18980820575
在gradle中新建task
如果你需要將某個module打包成aar,并上傳到maven上去,需要在這個module下面的build.gradle文件中添加如下代碼:
其中代碼:
apply plugin: 'maven'
表示我們要應用的插件。
MAVEN_LOCAL_PATH表示maven服務器地址,packaging表示需要打包的類型,groupId:artifactId:version,就是我們需要依賴的字段。
上傳aar到maven服務器
在studio中打開控制臺,執行命令
./gradlew uploadArchives
就能看到log一直跑,直到99%上傳aar,如果提示buildSuccessful,那祝賀你,你已經將aar文件上傳到maven服務器了。
上傳時遇到的問題
執行上傳任務時,其實遇到蠻多問題的,這里記住幾個就都寫下來~
fail to resolve: TestProject:datalibrary:unspecified
解決辦法:將
compile 'com.android.commonlibrary:datalibrary:0.1.0'
改為
compile 'com.android.commonlibrary:datalibrary:0.1.0@aar'
詳情請見http://stackoverflow.com/questions/36114259/errorfailed-to-resolve-android-iconicslibrary-coreunspecified
return Code 401
解決辦法:這是上傳的賬號密碼不對,請跟maven倉庫管理員認真核實申請的賬號密碼。
Fix the issues identified by lint
這個錯誤具體截圖所示:
根據log提示,我們需要在每個module的build.gradle文件中的android域內添加代碼
android{ lintOptions{ abortOnError false } }
記住,是每個module都得添加,不然還是會出錯,血淋淋的教訓吶
聲明需要引用的maven服務器
在我們主工程的最外層的build.gradle中,添加如下代碼:
allprojects { repositories { jcenter() maven { url "http://192.168.1.107:9999/repository/commonlibrary/" credentials { username 'louxiaohui' password '111111' } } } }
注意:由于現在經常用的jcenter,bintray,nexus,aar包都是public的,所以聲明maven服務器時,不需要設置賬號密碼,但是對于有些設置了賬號密碼的,就得添加代碼進行認證~
credentials { username 'louxiaohui' password '111111' }
PS: 這都是血淋淋的教訓,由于對groovy語言不熟悉,我對credentials這個關鍵字都找了好久,才知道這貨是用來認證賬號密碼的。。。
引用aar
這個就簡單啦,代碼大家應該都很熟悉,在需要引用此aar的 module中的build.gradle文件中,添加如下代碼:
compile 'com.android.commonlibrary:datalibrary:0.1.0'
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。
名稱欄目:android上傳aar到私有maven服務器的示例
網頁路徑:http://www.2m8n56k.cn/article26/jgesjg.html
成都網站建設公司_創新互聯,為您提供靜態網站、網站策劃、品牌網站制作、虛擬主機、服務器托管、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯