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支付的二次封裝,對外提供一個相對簡單的接口以及支付結果的回調

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

如遇到問題歡迎留言交流

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

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