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 // 开启并行编译,相当于多条线程再走
- 待续。。。如果您有更好的方法和建议,请在评论处留言,我经常会上博客园看看的。。。