• 一个困扰了我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`配置和混淆问题等, 要学会变通。

  • 相关阅读:
    哈希表(hash)
    并查集
    trie树(字典树)
    单调队列(滑动窗口)
    单调栈
    用数组实现栈与队列
    数组实现双链表
    数组实现单链表
    区间合并
    离散化
  • 原文地址:https://www.cnblogs.com/jooy/p/8649816.html
Copyright © 2020-2023  润新知