一個困擾了我N久的bug , android.enableAapt2=false 無效


Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT error: check logs for details

 排查問題的方式:

1 . 同步工程時注意觀察 Gradle Console ;

2.  在Terminal中執行

gradle --stacktrace

查看問題所在的具體位置;

3.  當一個項目怎么也編譯不通過時候,新建一個工程,然后把有問題工程中的build.gradle , gradle.properties拷貝到新的項目中,重新編譯,按照1,2的方式觀察控制台輸出,從而找到問題所在!

 

最終的解決方式:

gradle.properties中,將

systemProp.http.proxyHost=proxy.hb.china
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=proxy.hb.china
systemProp.https.proxyPort=8080
//配置編譯時的虛擬機大小 - gradle4.4中已被移除 org.gradle.jvmargs=-Xmx4608M -XX\:MaxPermSize\=512m -XX\:+HeapDumpOnOutOfMemoryError -Dfile.encoding\=UTF-8 org.gradle.daemon=true // 開啟線程守護,第一次編譯時開線程,之后就不會再開了 org.gradle.configureondemand=true // 啟用新的孵化模式 org.gradle.parallel=true    // 開啟並行編譯,相當於多條線程再走 android.enableAapt2=false

改為

systemProp.http.proxyHost=proxy.hb.china
org.gradle.jvmargs=-Xmx1536m
systemProp.http.proxyPort=8080
android.enableAapt2=false

 

=======================================》

順便總結一些加速gradle構建的方法:

  •    org.gradle.jvmargs=-Xmx1536m   -》  org.gradle.jvmargs=-Xmx2048m
  •   使用本地gradle編譯 - 不推薦
  •    org.gradle.daemon=true                  // 開啟線程守護,第一次編譯時開線程,之后就不會再開了
  •      org.gradle.configureondemand=true    // 啟用新的孵化模式
  •      org.gradle.parallel=true                   // 開啟並行編譯,相當於多條線程再走
  •     待續。。。如果您有更好的方法和建議,請在評論處留言,我經常會上博客園看看的。。。

 

=======================================》

啟發,不要死鑽牛角尖,問題出現的地方未必真的是有問題的地方,比如gradle配置和混淆問題等,得變通

 


免責聲明!

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



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