提升Android Studio的編譯速度(更快出包減小等待)

硬件和軟件的準備

對於常常要出包並且一次要出多個渠道APK的同事來講,每次漫長的打包等待是一件消耗生命且無心義事情。html

google官方提升編譯速度的文檔:https://developer.android.com/studio/build/optimize-your-build.html#profileandroid

個人硬軟件環境

Android Studio 4.1.3windows

windows 10 企業版 ltsc緩存

CPU:i5 6500 3.5GHZ 四線程jvm

無SSD,無獨顯,內存:8x2=16G DDR4ide

必作操做

電腦內存:必定要大於等於16G,以前外網機是8G內存,花費了1小時13分纔打出APK,而加裝到16g內存以後,出包時間在16分鐘之內,通過本文的設置方法以後,每次出包時間13分鐘之內(PS.我生成的遊戲包體在900MB之內)。學習

關閉且徹底退出殺毒軟件,注意:必定要關閉殺毒軟件的文件實時防禦,就是關閉殺毒軟件對工程目錄的實時掃描。gradle

gradle.properties

  • 項目的 gradle.properties 文件(針對當前項目):
  • C:\Users\username\.gradle\gradle.properties 這個文件是對全部項目都生效

gradle.properties內容以下:(若是用戶目錄下沒有這個gradle.properties文件,則新建一個)優化

#jvmargs默認配置
#org.gradle.jvmargs=-Xmx4096M
#構建時使用守護進程
org.gradle.daemon=true
#JVM最大容許分配的堆內存,按需分配
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=2048m  -XX:+UseParallelGC
#並行構建
org.gradle.parallel=true 

#按需配置
org.gradle.configureondemand=true

#啓用新一代Dex編譯器D8
android.enableD8=true
#啓用新一代資源編譯器aapt2 (增量資源處理)
android.enableAapt2=true
#啓用gradle緩存
org.gradle.caching=true

studio64.exe.vmoptions

使用Everything搜索:studio64.exe.vmoptions 文件(注意區分32和64位),設置內容以下:(建議只修改前四行)ui

-Xms1024m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Djna.nosys=true
-Djna.boot.library.path=
-Didea.vendor.name=Google

build.gradle

這個配置文件是針對具體的項目的,放在工程的根目錄下,裏面指定的編譯的一些選項,好比使用的gradle版本

分析出包慢在那兒

使用gradle-profiler,官網文檔:https://developer.android.com/studio/build/profile-your-build?hl=zh-cn

離線編譯

網上有些文章說採用離線編譯APK,可是我在Android Studio4中已經沒有這些選項了。而且使用本地安裝的gradle選項,也無效,AS仍是會使用Project Setting中設置gradle來打包,也多是對Android 原生開發瞭解的不夠多,若是你們有其它方法可以加快AS出包的速度,我很樂意與大家學習交流。

參考資料

AndroidStudio優化構建速度

Android Studio配置優化最全詳解

相關文章
相關標籤/搜索