Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details - Go语言中文社区

Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details


打开支付宝首页搜索“623171577”领红包,每天都能领哦~

今天把几年前的老项目导入Android studio3.0后报错,报错截图如下:

看了一下报错内容,一时不知哪里出错,后来又点击了一下上图红框处的按钮,查看了一下gradle console。

于是把红框处的日志百度了一下,发现解决办法很简单,就是在项目的gradle.properties中添加一行代码就行了。
 

android.enableAapt2=false

就添加上面这行代码就行了。

 

但是奇怪的是,我的这个老项目连gradle.properties这个文件都没有,这怎么添加这行代码啊。

后来,灵机一动,从别的项目中拷贝一份gradle.properties过来,然后粘贴到我这个老项目的根目录下,并把android.enableAapt2=false 这行代码粘贴进去就行了,这样bug就解决了。

 

因为Android Studio升级到3.1.4以后,在gradle.properties中添加android.enableAapt2=false 已经不能解决问题了。如果你加了,那么控制台就会提示你:

上图翻译成中文就是android.enableAapt2是不被赞成的,并且也不该再使用了,而且android.enableAapt2将会在2018年底被移除。

所以说AS的提示还是比较人性化的,它是在告诉我们不要再使用android.enableAapt2=false这个属性了,那我们应该怎么解决这个报错问题呢?

其实,根据我长时间摸索的出来的经验,AAPT2 error这个问题一般是.9图片造成的,就是9patch图片有问题造成报错的,9patch图片是andriod app开发里一种特殊的图片形式,文件的扩展名为:.9.png。

如上图所示,如果遇到AAPT2 error这个问题,你打开res下的drawable目录,查看里面的.9图片,然后像我上面截图那样选中Show bad patches,就会看到那个.9被红框圈出来了,这是AS在提示你,你的这个.9图片是有问题的,所以编译不通过。造成这个bug的原因是这样的,你的这个项目可能是一个比较老的项目,以前是用Eclipse开发的,Eclipse对于.9图片的审查不是很严格,所以即使.9图片不不合格也不会报错,但是AS对于.9图片的审查比较严格,有错误就没法通过,所以用AS打开这个老项目,就会报AAPT2 error这个错误。所以这个时候,把这些报错的.9图片重新绘制一下就好了。

怎么绘制.9图片呢?如果对于.9图片不太熟悉,麻烦去百度一下Android Studio如何修改.9图片。会有不少相关的文章的。

我这里给大家简单介绍一下,如何解决.9图片报错的问题:

熟悉.9图片的开发者都知道,.9图片的左边框和上边框都是有个黑点的,这个黑点的作用就是黑点所在区域的像素可以无限复制,使得图片得以拉伸,而刚刚.9图片报错的原因就是左边框和上边框没有这个黑点,所以才会报错。所以这个时候大家要在左左边框和上边框绘制上黑点,这样就不报错了。

如上图所示,如果你的AS是3.1.4,那么在左边框和上边框用鼠标左键点一下,就能出现一个黑点,这样就不报错了。点的时候要注意,我们需要的是黑点,不是黑线,大家尽量不要用黑线。如果,你drawable目录下.9图片比较少,那么很快就能改完了,但是如果有一大堆.9图片,那就要一张一张该下去了,都改完了,运行一下,如果还是报错,可能是你落下一两张.9图片没有改过来,要再次检查一下。

 

另外还有一个原因也会造成AAPT2 error这个错误,就是res的values目录下有style文件,这个文件有时也会造成AAPT2 error这个错误。

以上都是本人的经验总结,是能够彻底解决AAPT2 error这个问题的,网上面有很多文章都是让你在gradle.properties添加android.enableAapt2=false。这类文章大家就不要看了,已经过时了,要想彻底解决这个问题,就应该像我说的修改.9图片,这才是真正的解决之道。android.enableAapt2=false这句话的含义就是让AS关闭AAPT2的审查,所以说android.enableAapt2=false是一种自欺欺人的解决办法,它并没有解决bug,而是把bug隐藏了。

如果大家有什么问题或者更好的解决办法,麻烦在下面评论一下。


如果本文对你有帮助的话,麻烦在左侧点个赞,谢谢支持!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_36317441/article/details/79002293
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 04:00:26
  • 阅读 ( 579 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢