對於常常要出包並且一次要出多個渠道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
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
使用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
這個配置文件是針對具體的項目的,放在工程的根目錄下,裏面指定的編譯的一些選項,好比使用的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出包的速度,我很樂意與大家學習交流。