Android依賴管理與私服搭建

*本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發布
*本篇文章視頻 慕課網之Android依賴管理與私服搭建

1.Android引入依賴的多種方式
2.多平臺私服搭建
3.創建和依賴自己的代碼倉庫

1、Android引入依賴的多種方式
引入方式一

AS切換project視圖>新建libs目錄(高版本AS默認存在libs目錄)>copy jar 包>add as library

下面以我開源的支付寶以及微信app支付項目為例引入相關的jar

方式一:add as library
直接使用Gradle-Sync Now
引入方式二(module>aar)

import module>Project Structure>選擇對應的Module>module dependent
我們知道jar包是不能引入資源文件的,如果已module模式引入資源文件同樣可以使用。

打開Project Structure-方式1
打開Project Structure-方式2
Project Structure
Lib Module 生成aar

New Module >Android Library>實現包功能并生成aar文件

構建生成aar
項目中引用aar文件
引用aar文件

以上兩種引入jar依賴弊端就是jar包升級之后需要Copy替換換新的jar并修改對應的配置文件。

引入方式三(推薦)

從倉庫中下載引用
找到jar對應的build.gradle>compile(jcentermavencentermavenlocal)>通過Nexue搭建私服

https://bintray.com/bintray/jcenter
http://search.maven.org
http://www.sonatype.org

部分網站訪問需要科學上網,你懂的哈

Android Studio最新版默認使用的是jcenter,好處就是jar包升級自需要修改版本號,構建項目會自動從倉庫中下載(只會下載一次,下載以后會從本地引入)。

AS默認使用的是**jcenter**
如何引入倉庫中的jar

下面以引入retrofit為例

引入倉庫中的jar-[retrofit](http://square.github.io/retrofit)

或者直接在對應項目Module的build.gradledependencies節點添加

compile 'com.squareup.retrofit2:retrofit:2.1.0'
最終配置

相互依賴的包也會下載下來,retrofit依賴okhttp依賴ikoi

相互依賴的包也會下載下來
2、多平臺Nexus私服搭建

http://www.sonatype.org

http://books.sonatype.com/nexus-book/3.0/reference/index.html

Note: The GUI installer distribution development is suspended and is no longer an install option until further notice.

Nexus Repository Manager 3.1.0-04 開始并沒有提供GUI的安裝程序。建議JDK使用1.8版本。

官網首頁
選擇最新版本Nexus3
下載

安裝介紹資料
http://books.sonatype.com/nexus-book/3.0/reference/install.html#installation-archive

解壓下載的nexus
$ tar xvzf nexus-3.0.2-02-mac.tgz
$ tar xvzf nexus-3.0.2-02-unix.tar.gz

The bin folder contains the generic startup scripts for Unix-like platforms called nexus. The Windows platform equivalent is called nexus.exe. To start the repository manager from the bin folder on a Unix-like platform like Linux use
./nexus run
The equivalent invocation on Windows requires a / in front of the run and any other commands.
nexus.exe /run

簡單解釋就是Mac、Linux平臺使用./nexus run Window平臺使用 nexus.exe /run 運行Nexus Repository Manager

Mac

OSX archive下載解壓

Linux

Unix archive解壓

bin目錄,執行 ./nexus run

運行Nexus服務

Nexus Repository Manager依賴的是Java開發環境,最新版JDK得1.8或者以上

提示設置INSTALL4J_JAVA_HOME_OVERRIDE

在nexus的bin目錄修改nexus,設置INSTALL4J_JAVA_HOME_OVERRIDE

修改nexus1
配置默認的JAVA_HOME
啟動Nexus

關閉防火墻 默認端口8081
systemctl stop firewalld

參考質料:
http://books.sonatype.com/nexus-book/3.0/reference/install.html#installation-java

2.1、創建自己的倉庫

1、創建用戶
首先使用管理員密碼登陸到Nexus私服并添加用戶

登錄
創建用戶

使用新創建的用戶登錄Nexus并創建倉庫

創建倉庫1
創建倉庫2
創建倉庫3
創建完成
2.2、上傳自己的Module到倉庫

第一 在項目級別的build.gradle中的allprojects下repositories節點添加mavenLocal()

配置本地maven引用

第二 在Lib Module級別的build.gradle中添加maven插件apply plugin: 'maven'

添加maven插件

第三 在Lib Module級別的build.gradle中android節點添加上傳行為

定義上傳行為

解析:
compile 'com.android.support:appcompat-v7:24.2.1'
pom.version = "24.2.1"
pom.artifactId = "appcompat-v7"
pom.groupId ="com.android.support"

//定義上傳行為
    uploadArchives {
        //倉庫基于maven
        repositories.mavenDeployer {
            //配置上傳的url
            repository(url: "http://192.168.1.100:8081/repository/com.javen205/") {
                authentication(userName: "javen", password: "javen205")
            }
            pom.version = "0.0.1"
            pom.artifactId = "JPay"
            pom.groupId = "com.javen205"
        }
    }

第四 使用Gradle插件上傳aar到Maven私服

點擊uploadArchives自動上傳

上傳aar到服務器
刷新頁面重新查看
2.2、引用私服中的Module

在需要依賴Module的build.gradle中添加如下節點,其中URL就是上文中創建倉庫的url

allprojects {
    repositories {
        maven {
            url "http://192.168.1.100:8081/repository/com.javen205/"
        }
    }
}
    compile 'com.javen205:JPay:0.0.1'

查看 ** External Libraries**

查看上面上傳的aar應用成功

推薦閱讀
Android Studio 上傳aar(Library)到JCenter
Android版-支付寶APP支付
Android版-微信APP支付
支付寶Wap支付你了解多少?
一張二維碼集成微信、支付寶支付

安利時間:
JPay是對微信App支付、支付寶App支付的二次封裝,對外提供一個相對簡單的接口以及支付結果的回調

極速開發微信公眾號是對微信公眾平臺接口的二次封裝。包括開發者模式、事件回調監聽、微信模板消息、微信客服消息、自定義菜單、微信支付、素材管理等

如遇到問題歡迎留言交流

記錄學習的點滴,以此勉勵不斷奮斗的自己?????? 如果對你有幫助記得點喜歡告訴我

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,441評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,211評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,736評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,475評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,834評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,009評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,559評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,306評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,516評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,728評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,132評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,443評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,249評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,484評論 2 379

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,728評論 25 708
  • 現在都市生活節奏快,有一大波人處于亞健康的狀態。前段時間公司請了個中醫來公司坐診,不少同事前去咨詢,基本上每...
    雨林中的陽光閱讀 403評論 0 10
  • 計劃了很久的五一之行,雖然是第一次一個人出發,但是我相信會有別樣的風景。放掉手中的工作,拋開一切煩惱,去追求內心那...
    安七__閱讀 282評論 0 0
  • 看著自己畫出來的畫,還是挺驕傲的,雖然需要改進的地方很多。 讀書期間什么美術音樂課都是副課,沒老師教我們畫畫,識譜...
    云朵tania閱讀 283評論 2 2
  • “信息大爆炸”這個詞非常形象,立馬就能夠想象的到五花八門的信息從四面八方撲面而來。所以,為了跟上這個快速變化的時代...
    羊小彩閱讀 300評論 2 1