欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何提升Gradle的編譯速度-創(chuàng)新互聯(lián)

如何提升Gradle的編譯速度,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)主營(yíng)項(xiàng)城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,App定制開發(fā),項(xiàng)城h5重慶小程序開發(fā)搭建,項(xiàng)城網(wǎng)站營(yíng)銷推廣歡迎項(xiàng)城等地區(qū)企業(yè)咨詢

1. 在user/.gradle文件下創(chuàng)建gradle.properties文件, 并在中寫上org.gradle.daemon=true , 保存.

如何提升Gradle的編譯速度

2. 設(shè)置studio, 打開setting >> gradle>> 勾選offine work; 打開離線編譯;如下圖:

如何提升Gradle的編譯速度

3.設(shè)置JAVa虛擬機(jī)的運(yùn)行內(nèi)存等

在項(xiàng)目的根目錄中找到gradle.properties文件, 位置如下圖, 并設(shè)置相關(guān)參數(shù), 這一項(xiàng)設(shè)置在網(wǎng)上很多人提到, 我就不多說了。

但是有一點(diǎn)值得注意的是, 不能將java大的運(yùn)行內(nèi)存設(shè)置過高, 否則會(huì)引起第二次啟動(dòng)時(shí)啟動(dòng)不了, 會(huì)報(bào)內(nèi)存不足。

如何提升Gradle的編譯速度

4. 硬件提升

這個(gè)根據(jù)自己的情況而定。 如果可能的話, 建議使用臺(tái)試機(jī), 擴(kuò)展性強(qiáng)。

我給大家推薦一下配置吧:

4.1 使用雙路主板,配置兩顆CPU,  可以使用工作站的, 也可以用服務(wù)器的, 建議考慮工作站的。 現(xiàn)在市場(chǎng)上有超微的, 華碩, 技嘉等等都雙路工作站主板

4.2 使用NVME 固態(tài)硬盤。 例如三星p961, 可以通過PCI-E轉(zhuǎn)nvme 轉(zhuǎn)接卡, 將硬盤安裝到主板的PCI-E插槽上, 峰值速度達(dá)到2000M/s,這可不是一般的sata固態(tài)硬盤所能達(dá)到的速度。

注意:這種硬盤并不支持win7系統(tǒng), 需要win8.1 win10系統(tǒng)才能識(shí)別。

4.3 選用多條內(nèi)存。 上面推薦使用了雙路主板, 最新該類型主板支持ddr4內(nèi)存, 且共有八通道,使用4*8 = 32 G配置,可以將內(nèi)存性能發(fā)揮至極至。

5.  優(yōu)化gradle中的渠道配置

這是我所講的重點(diǎn), 如果對(duì)您有幫助,請(qǐng)注意看

在build.gradle 檢查渠道數(shù)量, 如下圖:

如何提升Gradle的編譯速度

備注:在網(wǎng)上有很多貼子寫到變種productFlavors,讓buildtype與productFlavors結(jié)合使用, 達(dá)到不同版本不同渠道配置不同的參數(shù), 依賴的libs也進(jìn)行相關(guān)設(shè)置的編譯。 例如app依賴了Alibs, 并且需要Alibs能夠識(shí)別buildtype, 在app選擇測(cè)試版時(shí), Alibs也編譯了它的debug中參數(shù)。。

通過多次實(shí)踐發(fā)現(xiàn), 這種變種flavors, 會(huì)導(dǎo)致編譯速度變慢, 尤其是渠道較多時(shí),這種

渠道名BuildTypeCompile project(path:':libs名字',configuration:'渠道名BuildType')

  • 例: huaweiDebugCompile project(path: ':banner', configuration: 'huaweiDebugCompile')

這種會(huì)使編譯速度更慢。 所以不推薦這種實(shí)現(xiàn)方式, 如果遇到這種需求,請(qǐng)嘗試其它方法解決。

言歸正轉(zhuǎn) 優(yōu)化Gradle 

  • 條件:在有較多渠道時(shí), 進(jìn)行渠道優(yōu)化。

  • 目的:提升gradle編譯速度

  • 思路: 由于我們?cè)诖蚨嗲腊鼤r(shí), 只有在發(fā)版時(shí)才會(huì)打,平時(shí)測(cè)試時(shí)我們并不需要打多個(gè)渠道的包,只會(huì)生成測(cè)試版, 線上版,預(yù)發(fā)布版本等等。 所以我們可以在gralde中設(shè)置一個(gè)boolean型全局常量,通過該常量判斷我們是否需要打渠道包。 在測(cè)試時(shí) , 我們可以只設(shè)置一個(gè)渠道, 在上線打包時(shí), 將所有渠道開放。 這樣, 在我們平時(shí)寫程序時(shí), 就可以提升編譯速度, 在打渠道時(shí), 就讓它靜靜地打包。

步驟一: 設(shè)置全局變量

方法一:可以設(shè)置項(xiàng)目的全局變量。 在項(xiàng)目根目錄下的build.gralde中的

allprojects下添加ext{...}

我添加了三個(gè)常量, 因?yàn)槲业陌姹拘枰蛉齻€(gè)不同名字的應(yīng)用。如果您的項(xiàng)目中沒有該需求,只需設(shè)置一個(gè)就行了

ext {
 isHtgPack = false
 isOasPack = false
 isGeniusPack = false
}

方法二: 在渠道所在build.gradle中配置常量。 添加ext{...}

注意:

1.根據(jù)gradle語法, 常量需要在調(diào)用前聲明。
 2.設(shè)置常量時(shí)不能用def boolean 等修飾 ;它會(huì)自動(dòng)識(shí)別它的數(shù)據(jù)類型;

如何提升Gradle的編譯速度

步驟二: 代碼設(shè)置渠道

gradle是基于java, 所以它的很多語法和java一致,對(duì)寫android的哥們更易上手

在android {}中設(shè)置渠道, 添加 一行代碼。將渠道

if(isHtgPack) {
//打包時(shí)需的渠道(所有渠道)
。。
productFlavors {
huawei {}
360 {}
...
}
}else {
//只配置一個(gè)渠道
productFlavors{
 textFlavors{}
}
}

在需要打包時(shí)將常量的值更改一下就好了,將false更改為true就好了。

如何提升Gradle的編譯速度

關(guān)于如何提升Gradle的編譯速度問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享標(biāo)題:如何提升Gradle的編譯速度-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://chinadenli.net/article10/cohpdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google網(wǎng)站策劃自適應(yīng)網(wǎng)站營(yíng)銷型網(wǎng)站建設(shè)軟件開發(fā)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司