現(xiàn)在AndroidStudio使用Gradle作為依賴管理工具沪悲,
可以說是Android目前最好的依賴管理工具,我們經(jīng)常通過在build.gradle通過簡單的依賴配置就可以使用某個開源項目了咳蔚,例如okhttp、retrofit,但是如果公司把自己的核心庫往jcenter上傳又是不太可能的拥娄,基于這個問題,今天給大家?guī)砹吮酒恼峦ぃ趶姶蟮?a target="_blank" rel="nofollow">Linux平臺稚瘾,使用 Nexus3.x 為 Android 搭建私服,為公司構建自己的本地內(nèi)部倉庫姚炕。
Nexus是“開箱即用”的系統(tǒng)摊欠,不需要數(shù)據(jù)庫,它使用文件系統(tǒng)加Lucene來組織數(shù)據(jù)柱宦,支持WebDAV與LDAP安全身份認證凄硼。Nexus還提供了強大的倉庫管理功能,構件搜索功能捷沸,它基于REST摊沉,友好的UI是一個extjs的REST客戶端,它占用較少的內(nèi)存痒给,基于簡單文件系統(tǒng)而非數(shù)據(jù)庫。
Nexus極大地簡化了本地內(nèi)部倉庫的維護和外部倉庫的訪問。另外锻梳,Nexus還可以在代理遠程倉庫的同時維護本地倉庫晦墙,以降低中央倉庫的負荷,節(jié)省外網(wǎng)帶寬和時間错忱。
本篇Nexus選擇3.x版本,Nexus3.x相較2.x版本有很大的改變:
1)從底層重構,從而提高性能楼咳,增強擴展能力,并改善用戶體驗
2)升級界面烛恤,增加更多的瀏覽母怜,搜索和管理功能
3)提供安裝包,使部署更簡單(安裝完自動添加成服務缚柏,省去手動添加的麻煩)
4)增加 Docker苹熏,NuGet,npm币喧,Bower的支持
5)提供新的管理接口轨域,從而能自動管理任務。
注意:3.x版本只能運行在JVM8及以上
總之杀餐,本地內(nèi)部倉庫在本地構建nexus私服的好處有:
1)加速構建干发、穩(wěn)定;
2)節(jié)省帶寬史翘、節(jié)省中央maven倉庫的帶寬铐然;
3)控制和審計;
4)能夠部署第三方構件恶座;
5)可以建立本地內(nèi)部倉庫搀暑、可以建立公共倉庫
這些優(yōu)點使得Nexus日趨成為最流行的Maven倉庫管理器。
這里Linux選用CentOS7.2跨琳。
1)安裝jdk 參考文章http://blog.csdn.net/smartbetter/article/details/53535435#t3
2)下載Nexus開源版本https://www.sonatype.com/download-oss-sonatype
3)上傳服務器Nexus安裝包自点,服務器ip假定為192.168.2.20
$ scp ~/Downloads/nexus-3.2.0-01-unix.tar.gz root@192.168.2.20:/usr/local
4)安裝Nexus(源碼安裝方式)
$ ssh root@192.168.2.20? ? ? ? ? ? ? ? ? ? ? ? //SSH連接
# cd /usr/local
# mkdir nexus
# tar -zxvf nexus-3.2.0-01-unix.tar.gz -C nexus //解壓縮
解壓之后會有兩個文件夾,nexus-3.2.0-01和sonatype-work
# cd nexus
# mv nexus-3.2.0-01/ nexus
自定義配置虛擬機可打開nexus.vmoptions文件進行配置(如果Linux硬件配置比較低的話脉让,建議修改為合適的大小桂敛,否則會出現(xiàn)運行崩潰的現(xiàn)象):
# cd nexus/bin/nexus.vmoptions? ? ? ? ? ? ? ? ? //虛擬機選項配置文件
4)啟動Nexus(默認端口是8081)
Nexus常用的一些命令包括:/usr/local/nexus/nexus/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload},下面我們啟動Nexus:
# /usr/local/nexus/nexus/bin/nexus start? ? ? //啟動后稍等會兒才能正常訪問
WARNING: ************************************************************
WARNING: Detected execution as "root" user.? This is NOT recommended!
WARNING: ************************************************************
Starting nexus
上面在啟動過程中出現(xiàn)警告:“不推薦使用root用戶啟動”溅潜。這個警告不影響Nexus的正常訪問和使用术唬。去掉上面WARNING的辦法請自行百度。
下面用其他計算機訪問Linux服務器:192.168.2.20:8081
出現(xiàn)上述頁面滚澜,說明配置nexus成功粗仓!
點擊Nexus“Log in”,
輸入默認用戶名(admin)和默認密碼(admin123)登錄。
可以點擊上面的“設置”圖標借浊,在“設置”里可以添加用戶塘淑、角色,對接LDAP等的設置蚂斤,如下:
這里我們創(chuàng)建用戶user:
創(chuàng)建完成后退出admin存捺,登錄user。
我們點擊Repository下Repositories創(chuàng)建android用戶的倉庫:
然后這里填寫相關信息曙蒸,創(chuàng)建倉庫android:
我們來看一下創(chuàng)建的倉庫:
到此我們自己的倉庫創(chuàng)建成功捌治。
這里我們使用Android Studio新建一個Android Project,然后新建一個Android Library(module)纽窟,命名為utilslibrary肖油,并在其中新建一個Utils類,供我們后續(xù)測試使用师倔。
這個module也就是我們準備上傳的module。
1)配置Project的build.gradle:
allprojects {? ??
? ? ? ? ? ? repositories {
? ? ? ? ? ? ? ? ? ? jcenter()
? ? ? ? ? ? ? ? ? ? mavenLocal()
? ? ? ? ? ?}
}
路徑地址如下copy:
3)雙擊uploadArchives(如下圖中按鈕)上傳module:
等待module的上傳:
當全部顯示ok時上傳成功周蹭,此時我們在電腦上打開私服(http://192.168.2.20:8081/)趋艘,登錄用戶user,再看一下之前創(chuàng)建的倉庫:
ok凶朗,到此module上傳成功瓷胧。
我們再在Android Studio中新建一個全新的Android Project,然后配置Project的build.gradle文件:
buildscript {...}
allprojects {? ??
? ? ? ? ? ?repositories {? ? ? ??
? ? ? ? ? ? ? ? jcenter()? ? ? ??
? ? ? ? ? ? ? ? maven { url"http://192.168.2.20:8081/repository/android/"}? ??
? ? ? ? ? }
}
路徑地址如下copy:
此時我們就可以通過依賴的方式引用已經(jīng)上傳的module了:
我們直接在build.gradle(Module:app)添加依賴:
compile'net.smartbetter:utilslibrary:0.0.1'
我們看一下External Libraries:
發(fā)現(xiàn)已經(jīng)存在utilslibrary-0.0.1了棚愤,這時我們就就可以在我們的工程項目中調(diào)用utilslibrary-0.0.1的方法了搓萧。
以上就是如何從Android Studio中上傳我們的module,并如何通過依賴使用上傳的module了宛畦。
文章來源:http://blog.csdn.net/smartbetter/article/details/55116889