Android依賴管理與私服搭建

*本篇文章已授權(quán)微信公眾號(hào) guolin_blog (郭霖)獨(dú)家發(fā)布
*本篇文章視頻 慕課網(wǎng)之Android依賴管理與私服搭建

1.Android引入依賴的多種方式
2.多平臺(tái)私服搭建
3.創(chuàng)建和依賴自己的代碼倉(cāng)庫(kù)

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

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

下面以我開(kāi)源的支付寶以及微信app支付項(xiàng)目為例引入相關(guān)的jar

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

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

打開(kāi)Project Structure-方式1
打開(kāi)Project Structure-方式2
Project Structure
Lib Module 生成aar

New Module >Android Library>實(shí)現(xiàn)包功能并生成aar文件

構(gòu)建生成aar
項(xiàng)目中引用aar文件
引用aar文件

以上兩種引入jar依賴弊端就是jar包升級(jí)之后需要Copy替換換新的jar并修改對(duì)應(yīng)的配置文件。

引入方式三(推薦)

從倉(cāng)庫(kù)中下載引用
找到jar對(duì)應(yīng)的build.gradle>compile(jcenter、mavencentermavenlocal)>通過(guò)Nexue搭建私服

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

部分網(wǎng)站訪問(wèn)需要科學(xué)上網(wǎng),你懂的哈

Android Studio最新版默認(rèn)使用的是jcenter,好處就是jar包升級(jí)自需要修改版本號(hào),構(gòu)建項(xiàng)目會(huì)自動(dòng)從倉(cāng)庫(kù)中下載(只會(huì)下載一次,下載以后會(huì)從本地引入)。

AS默認(rèn)使用的是**jcenter**
如何引入倉(cāng)庫(kù)中的jar

下面以引入retrofit為例

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

或者直接在對(duì)應(yīng)項(xiàng)目Module的build.gradledependencies節(jié)點(diǎn)添加

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

相互依賴的包也會(huì)下載下來(lái),retrofit依賴okhttp依賴ikoi

相互依賴的包也會(huì)下載下來(lái)
2、多平臺(tái)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 開(kāi)始并沒(méi)有提供GUI的安裝程序。建議JDK使用1.8版本。

官網(wǎng)首頁(yè)
選擇最新版本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

簡(jiǎn)單解釋就是Mac、Linux平臺(tái)使用./nexus run Window平臺(tái)使用 nexus.exe /run 運(yùn)行Nexus Repository Manager

Mac

OSX archive下載解壓

Linux

Unix archive解壓

進(jìn)bin目錄,執(zhí)行 ./nexus run

運(yùn)行Nexus服務(wù)

Nexus Repository Manager依賴的是Java開(kāi)發(fā)環(huán)境,最新版JDK得1.8或者以上

提示設(shè)置INSTALL4J_JAVA_HOME_OVERRIDE

在nexus的bin目錄修改nexus,設(shè)置INSTALL4J_JAVA_HOME_OVERRIDE

修改nexus1
配置默認(rèn)的JAVA_HOME
啟動(dòng)Nexus

關(guān)閉防火墻 默認(rèn)端口8081
systemctl stop firewalld

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

2.1、創(chuàng)建自己的倉(cāng)庫(kù)

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

登錄
創(chuàng)建用戶

使用新創(chuàng)建的用戶登錄Nexus并創(chuàng)建倉(cāng)庫(kù)

創(chuàng)建倉(cāng)庫(kù)1
創(chuàng)建倉(cāng)庫(kù)2
創(chuàng)建倉(cāng)庫(kù)3
創(chuàng)建完成
2.2、上傳自己的Module到倉(cāng)庫(kù)

第一 在項(xiàng)目級(jí)別的build.gradle中的allprojects下repositories節(jié)點(diǎn)添加mavenLocal()

配置本地maven引用

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

添加maven插件

第三 在Lib Module級(jí)別的build.gradle中android節(jié)點(diǎn)添加上傳行為

定義上傳行為

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

//定義上傳行為
    uploadArchives {
        //倉(cāng)庫(kù)基于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私服

點(diǎn)擊uploadArchives自動(dòng)上傳

上傳aar到服務(wù)器
刷新頁(yè)面重新查看
2.2、引用私服中的Module

在需要依賴Module的build.gradle中添加如下節(jié)點(diǎn),其中URL就是上文中創(chuàng)建倉(cāng)庫(kù)的url

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

查看 ** External Libraries**

查看上面上傳的aar應(yīng)用成功

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

安利時(shí)間:
JPay是對(duì)微信App支付、支付寶App支付的二次封裝,對(duì)外提供一個(gè)相對(duì)簡(jiǎn)單的接口以及支付結(jié)果的回調(diào)

極速開(kāi)發(fā)微信公眾號(hào)是對(duì)微信公眾平臺(tái)接口的二次封裝。包括開(kāi)發(fā)者模式、事件回調(diào)監(jiān)聽(tīng)、微信模板消息、微信客服消息、自定義菜單、微信支付、素材管理等

如遇到問(wèn)題歡迎留言交流

記錄學(xué)習(xí)的點(diǎn)滴,以此勉勵(lì)不斷奮斗的自己?????? 如果對(duì)你有幫助記得點(diǎn)喜歡告訴我

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容