Error:Execution failed for task ':app:mergeDebugResources'.>
Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2error: check logs for details
然后底下一大片红色错误。。。眼都看瞎!
自行百度了一下,看了很多人的博文,发现大家发布的几乎都是以下两种方法:
一、
android.enableAapt2=false
在工程里找到gradle.properties,如果没有,那就新建一个,然后加入 android.enableAapt2 = false;
我试了以下,发现Android Studio会提示说,aapt2 将在2018年不再使用,提示建议禁止再用这个配置参数。而且,我再次签名打包时,发现还是会报这个错误,也就是以上方法失效;
二、 找到并删除 .9png的图片
然后第二种方法,就是查找工程里的.9png的图片,并删除。。。
然后我发现我工程里并没有9妹的图,尴尬。。。
至今不知道是什么原因,导致这个问题的,尝试了很多方法,也看了很多stackoverflow上,外国小哥的各种方法,都是无效。无意中看到一些外国小哥说,只能等待官方提供更新去解决这个问题,然后看到有人说,Android Studio 有3.2试用版了。于是我果断更新了一下Studio 的版本 ,在build.gradle的dependencies,由原来的3.1.2改成3.2.0-alpha13,如下:
dependencies { // classpath 'com.android.tools.build:gradle:3.1.2' classpath'com.android.tools.build:gradle:3.2.0-alpha13' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }
然后Studio 会提示Gradle version的最低版本是4.6,选择更新一下, 从4.4更新到4.6。
接着我再打包签名一次,它又提示新的错误,但这次是提示的是对于gradle配置的修改,于是我加上了它的建议:
android { lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } }在app包里的build里,找到android{},并在里面添加lintOptions, 分别添加checkReleaseBuilds和abortonError两个限制操作的配置,并都设置为false,然后再次打包签名apk,完美执行。