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


硬件和軟件的准備

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

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

我的硬軟件環境

Android Studio 4.1.3

windows 10 企業版 ltsc

CPU:i5 6500 3.5GHZ 四線程

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

必做操作

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

關閉且完全退出殺毒軟件,注意:一定要關閉殺毒軟件的文件實時防護,就是關閉殺毒軟件對工程目錄的實時掃描。

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位),設置內容如下:(建議只修改前四行)

-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配置優化最全詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM