一个困扰了我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配置和混淆问题等,得变通
一个困扰了我N久的bug , android.enableAapt2=false 无效的更多相关文章
- 面试官问,说一个你在工作非常有价值的bug
如果你去参考面试,做足了准备,面对面试官员从容不迫,吐沫横飞的大谈自己的工作经历.突然,面试官横插一句:说一个你在工作非常有价值的bug.顿时,整个空气都仿佛都凝固了!“What?”... 我想没几个 ...
- Java中,一个存在了十几年的bug...
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- 记一个关于std::unordered_map并发访问的BUG
前言 刷题刷得头疼,水篇blog.这个BUG是我大约一个月前,在做15445实现lock_manager的时候遇到的一个很恶劣但很愚蠢的BUG,排查 + 摸鱼大概花了我三天的时间,根本原因是我在使用s ...
- python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False。
python练习:编写一个函数isIn,接受两个字符串作为参数,如果一个字符串是另一个字符串的一部分,返回True,否则返回False. 重难点:定义函数的方法.使用str类型的find()函数,可以 ...
- 获得其他程序弹出菜单的内容(一个困扰许久的问题o(╯□╰)o)
刚开始到现在公司的时候接到一个任务:开发一个activex控件,自动操作本地exe程序,当时遇到弹出菜单无法获取的问题,还好不影响,最近又遇到这个问题,绕不过去了,于是昨天花了一个上午百度了个遍,总算 ...
- 一个困扰很久的异常—java.lang.NoClassDefFoundError: com/google/gson/Gson
描述: 这个异常是在运行时抛出的,编译的时候没有任何问题,而且异常信息非常少,只有一句:java.lang.NoClassDefFoundError: com/google/gson/Gson 解决: ...
- eclipse插件安装失败的列表如何清除-一个困扰很久的问题
平时在安装eclipse插件的时候由于网络不稳定或者下载下来的包不兼容等原因安装失败的情况很多, 但是当插件安装一次以后,就会在安装的url中留下历史记录,并且每次切换到安装插件的界面中时,后台都要检 ...
- 如何写出一个让人很难发现的bug?
程序员的日常三件事:写bug.改bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含bug. 那么如何写出一个让(坑)人(王)很(之)难(王)发现的bug呢? - 1 -新手开发+ ...
- 如何隐藏一个让人很难发现的bug?
程序员的日常三件事:写bug.改bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含bug. 那么如何写出一个让(坑)人(王)很(之)难(王)发现的bug呢? - 1 - 新手开发 ...
随机推荐
- 表单(同步提交)和AJAX(异步提交)示范
表单提交(同步提交) HTML文件: PHP文件: 这样就能接收到HTML里输入的内容,注意: FORM表头method为POST,PHP文件获取的方法就是$_POST,method为GET,PHP的 ...
- KafkaAPI实战
新旧API使用 Flume和Kafka集成: Kafka有两套API: 过时的API 和新API 准备工作 <dependencies> <dependency> <gr ...
- CVPR 2019 | 用异构卷积训练深度CNN:提升效率而不损准确度
对于深度卷积神经网络而言,准确度和计算成本往往难以得兼,研究界也一直在探索通过模型压缩或设计新型高效架构来解决这一问题.印度理工学院坎普尔分校的一篇 CVPR 论文则给出了一个新的思路——使用异构的卷 ...
- bzoj3252: 攻略(贪心)
/* 因为权值都是正的, 所以贪心的正确性能保证 然后重链贪心跑一下就好了 */ #include<cstdio> #include<algorithm> #include&l ...
- 记一次http接口格式摸索
有一个需求,需要用到内部通讯工具的一个ERP转发接口,虽然有接口文档,但是对中文的编码格式没有提示,中间几经周折,最后才想起来通过F12查看提供的测试接口发送请求时的数据格式来分析,经过解析中文只有被 ...
- 零基础学习python_列表和元组(10-13课)
一时兴起今天又回过头来补一下列表和元组,先来说说列表哈,列表其实是python最经常用到的数据类型了,不仅经常用还很强大呢,这个跟C语言里面的数组是类似的,列表当然也可以增删改查,不过我可没打算用之前 ...
- Es6入门解构
变量解构赋值:数组和对象中提取值,对变量进行赋值 1️⃣模式匹配:只要等号左右两边的模式相同,左边的变量就会被赋予对应的值 2️⃣不完全解构:等号左边的模式匹配等号右边数组的部分 默认值:解构赋值允许 ...
- 【接口测试】【SOAP】简单的接口测试学习
==================================================================================================== ...
- 权重比较(id class 标签)
权重的取值: 按照 id class 标签 的顺序在其位置上标出1或者0 例如下面的例子 <!DOCTYPE html> <html lang="en"&g ...
- hive随机采样
hive> select * from account limit 10;OKaccount.accountname account.accid account.platid ac ...