Android Studio通過Artifactory搭建本地倉庫優(yōu)化編譯速度的方法
Android Studio 編譯速度慢,一般來說,原因有下面幾個。
- Gradle下載慢
- 依賴庫下載慢
- 依賴庫使用"+"(使用最新的),每次都需要去查找新的(盡量不適用這種方式)
這里,大部分的庫,我們可以通過阿里云代理倉庫。
但是,如果有我們自己的私有庫或者插件的話??隙ú幌M诺桨⒗镌粕狭恕?/p>
這個時候,我們就需要建立,我們自己的本地倉庫,讓私有倉庫,依賴阿里云的私有倉庫。
依賴關(guān)系,如下圖

這樣,既保證了我們私有庫的安全性,又讓我們的依賴庫也享受到了阿里云代理倉庫的便利。
通過Artifactory搭建本地倉庫可以參考:架構(gòu)師教程Artifactory破解步驟。這里就不說明了。
下面,我們主要說明的是本地倉庫的配置及在項(xiàng)目中的引用。
一,本地倉庫的創(chuàng)建
這里又分為2個部分:
依賴本地的庫
比如,Gradle的版本,或者自己寫的Gradle插件等等
依賴遠(yuǎn)程的庫
比如,OKHttp,Retrofit等等第三方庫
創(chuàng)建虛擬組
這樣的話,方便我們的引入。不用每個庫都引入進(jìn)來。
1,創(chuàng)建依賴本地的庫
點(diǎn)擊左側(cè)的Admin→local,進(jìn)入Local Repositories。

點(diǎn)擊右上角的按鈕(New)

選擇Maven,然后,填寫Repository key,我們就起一個android_local(自己定義就好)。
然后,點(diǎn)擊Save & Finish,到這里就創(chuàng)建了一個本地的Maven倉庫。

然后,我們在Local Repositories下面就看到了,我們創(chuàng)建的本地庫。

下面,我們就要把我們下載好的Gradle,放到這個本地倉庫。
點(diǎn)擊左側(cè)欄第2個按鈕,Artifact Repository Browser
選擇,我們的android_local的maven庫,點(diǎn)擊右側(cè)Deploy,把我們的Gradle的zip上傳上去就可以了
如下圖

上傳完成后,我們在左側(cè)的android_local下面,就看到了這個Gradle的zip包

這里,有個東西需要配置一下。倉庫默認(rèn)上傳文件大小是100M,我們需要改大一些,不然,上傳會失敗。
點(diǎn)擊左側(cè)的Amin→General Configuration 。

修改File Upload Max Size (MB) ,這個選項(xiàng),我們改成400M,點(diǎn)擊Save。
如下圖,修改完后,再上傳我們的Gradle的zip就沒有問題了。

到這里,我們建立的本地的倉庫就配置完成了
2,依賴遠(yuǎn)程的庫
我們項(xiàng)目除了Gradle以外,開發(fā)時會用到很多的第三方庫,這個時候,我們還需要配置一個依賴遠(yuǎn)程的倉庫。
根據(jù)上面的流程,我們的遠(yuǎn)程倉庫,需要依賴阿里云的代理倉庫。這里先創(chuàng)建一個jcenter倉庫。
首先,點(diǎn)擊左側(cè)的Admin–→Remote

然后,跟本地倉庫一樣,點(diǎn)擊右側(cè)的New按鈕

我們填寫一個repository key叫aliyun_maven。并填寫地址。

填寫完成后,點(diǎn)擊右下角的Save & Finish。
就創(chuàng)建好了,我們的jcenter倉庫。
我們還要創(chuàng)建google的本地倉庫,最好再創(chuàng)建一個public的倉庫(防止,其他的地方找不到)
創(chuàng)建完成后,我們看下,我們的遠(yuǎn)程倉庫列表

可以看到,我們的3個遠(yuǎn)程倉庫都創(chuàng)建好了。
3,創(chuàng)建虛擬組
上面,我們把Gradle的文件倉庫和依賴庫依賴的google(),jcenter()倉庫,都創(chuàng)建好了。
如果,我們每個都依賴到項(xiàng)目的話,很不方便。首先,需要寫很多;其次,就是如果再添加其他倉庫的話,我們也需要都次都改動,這個地方。
這里,我們就創(chuàng)建一個虛擬組。這樣,我們的項(xiàng)目,只需要依賴一個虛擬組,讓虛擬組把上面的倉庫都添加進(jìn)去就可以了。
首先,點(diǎn)擊左側(cè)的Admin–→Virtual。

其次,還是點(diǎn)擊右上角的New按鈕。填寫Repository key,把上面的aliyun_jcenter,android_local等等倉庫添加進(jìn)去。

最后,點(diǎn)擊Save & Finish
這樣,我們的組就創(chuàng)建好了。
最后,看下我們所有創(chuàng)建的倉庫。

二,使用本地倉庫
上面的本地倉庫創(chuàng)建好以后,我們就不用直接依賴google()等倉庫了。
修改我們的項(xiàng)目配置。
1, gradle–→wrapper–gradle-wrapper.properties 下的gradle下載地址
#distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip distributionUrl=http\://localhost:8081/artifactory/android_local/gradle-4.10.1-all.zip
這里,我們直接依賴我們的本地倉庫的地址。
2, 修改項(xiàng)目下的build.gradle
buildscript {
repositories {
// google()
// jcenter()
maven{
url 'http://localhost:8081/artifactory/android_depend/'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
}
}
allprojects {
repositories {
// google()
// jcenter()
maven{
url 'http://localhost:8081/artifactory/android_depend/'
}
}
}
這里,我們看到我們不在直接依賴jcenter(),google()倉庫了。而是依賴,我們自己的本地倉庫的那個虛擬組。
這樣,以后我們有自己的私有庫或者插件的話,就保證了安全性。我們本地倉庫依賴了阿里云的代理倉庫。也不用擔(dān)心下載不下來的問題了。
到此這篇關(guān)于Android Studio通過Artifactory搭建本地倉庫優(yōu)化編譯速度的方法的文章就介紹到這了,更多相關(guān)Android Studio Artifactory搭建本地倉庫 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android編程之SurfaceView學(xué)習(xí)示例詳解
這篇文章主要介紹了Android編程之SurfaceView學(xué)習(xí)示例,結(jié)合實(shí)例分析了SurfaceView的功能、使用方法與注意事項(xiàng),具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
Android Studio配置反混淆的實(shí)現(xiàn)
這篇文章主要介紹了Android Studio如何混淆的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
解決Android 沉浸式狀態(tài)欄和華為虛擬按鍵沖突問題
對于現(xiàn)在的 App 來說,布局頁面基本都會用到沉浸式狀態(tài)欄,單純的沉浸式狀態(tài)欄很容易解決,但是在華為手機(jī)上存在一個底部虛擬按鍵的問題,會導(dǎo)致頁面底部和頂部出現(xiàn)很大的問題,下面通過本文給大家分享Android 沉浸式狀態(tài)欄和華為虛擬按鍵沖突問題,一起看看吧2017-07-07
Android實(shí)現(xiàn)多點(diǎn)觸控功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多點(diǎn)觸控功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05
Android實(shí)戰(zhàn)打飛機(jī)游戲之菜單頁面設(shè)計(jì)(1)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)戰(zhàn)打飛機(jī)游戲之菜單頁面設(shè)計(jì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07
Android編程之SharedPreferences文件存儲操作實(shí)例分析
這篇文章主要介紹了Android編程之SharedPreferences文件存儲操作方法,實(shí)例分析了SharedPreferences文件操作的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-04-04
Android ListView實(shí)現(xiàn)單選及多選等功能示例
這篇文章主要介紹了Android ListView實(shí)現(xiàn)單選及多選等功能的方法,結(jié)合實(shí)例形式分析了ListView單選、多選及長按多選等功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08
Android?NDK開發(fā)(C語言--聯(lián)合體與枚舉)
這篇文章主要介紹了Android?NDK開發(fā)C語言聯(lián)合體與枚舉,共用體是一種特殊的數(shù)據(jù)類型,允許您在相同的內(nèi)存位置存儲不同的數(shù)據(jù)類型。您可以定義一個帶有多成員的共用體,但是任何時候只能有一個成員帶有值。下面詳細(xì)介紹該內(nèi)容,需要的朋友可以參考一下2021-12-12

