解决AS3.1.4的com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

最新推荐文章于 2024-07-27 17:17:32 发布
最新推荐文章于 2024-07-27 17:17:32 发布 阅读量3.8k

前言:最近在打包apk的时出现com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details问题,查阅资料解释是非AsciⅡ的确是AAPT2和Gradle插件的一个bug,但现在已经被修复,需要升级Android Studio;但是不同的需求对应的BuildGradle配置有所差异。

针对上面的问题总结一些解决方法:

查阅资料得到的方法有以下几种:
1.gradle-wrapper.properties文件配置:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

build.gradle文件配置:

    dependencies {
        classpath  'com.android.tools.build:gradle:3.2.0'

同时app下的build.gradle文件:
buildToolsVersion ‘28.0.2’(28以上) minSdkVersion 23(19以上)
注:相应的gradle都要做对应改变

2.查找问题的具体描述确定问题位置

打包是会出现类似如下的提示信息

Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
	at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:327)
	... 50 more
Caused by: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
	at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
	at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$compile$0(QueueableAapt2.java:136)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	... 1 more
Caused by: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
	at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:443)
	at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:395)
	at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:312)
	at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

但是这些提示往往对我们来说不是很直观没能准确地定位当前问题,此时可以通过assembleDebug打印详细的错误描述:

1、可以通过Terminal窗口,使用命令:gradlew assembleDebug -s

2、可以通过点击AS右侧栏目gradle–>app–>Tasks—>build—> assembleDebug
此时我们可以看到我们熟悉的身影:

* What went wrong:
A problem occurred configuring project ':IDCardLib'.
> Could not generate a proxy class for class com.android.build.gradle.tasks.BuildArtifactReportTask.

基本上可以定位到问题了,当然不同的应用出现的具体问题也各不相同,找到问题才能更好地解决问题
3.针对第二个方法中出现的问题解决方法:
上述问题是因为项目中引用了一些三方sdk中的点9.png图,网上也有资料说明加入如下方法可以处理:

//android studio2.0遇到的问题 .9.png制作
android {
 aaptOptions.cruncherEnabled = false
 aaptOptions.useNewCruncher = false

正兴奋地以为解决问题的时候发现又出现了一下提示信息:

Lint found fatal errors while assembling a release target. 
 To proceed, either fix the issues identified by lint, or modify your build script as follows:  ...
  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      }

果断的把代码copy过去,代码如下:

android {
   aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
    lintOptions {
        checkReleaseBuilds false
        abortOnError false

打包运行问题解决
注:出现此类问题原因各不相同,希望上述方法能提供一些参考,有其他方法欢迎留言分享!

很多人把Android Studio升级到3.1之后会遇到这样的相关错误: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details 1)查了网上很多处理都是在项目的gradle.properties中添加下面的配置: android.enableAapt2=false 再编译就通过了 2)但是在打包的
网上的方法汇总: 1.在gradle.properties中加入一行代码:android.enableAapt2=false https://blog.csdn.net/iyam184/article/details/79890736 2.删除.9文件 3.AndroidStudio->Preferences->InstantRun 把钩全部去掉 4.clean projec...
原文:Android项目打包遇com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details 版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明作者和出处。 https://blog.csdn.net/Jsagacity/a...
Android开发中导入其他第三方的module经常会出现各种bug导致项目编译不过: util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT error: check logs for details 这种错误一般网上有很多方法: gradle.p...
集成第三方sdk后,编译报错:Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details 此时AS Build窗口只显示以下错误信息,没有明显的关键错误: 此时可以通过asse...
解决com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
Android Studio设计聊天界面时,报错: Caused by: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed error: . 原因:聊天框的XX.9.png图片出错了,双击...
Execution failed for task ':app:mergeReleaseResources'. > Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details 2. 错误分析 使用AAPT2在合并资源文件时报的错误; 可能出现的原因: 1. 资源文件
第一步:project->build.gradle 的dependencies下修改gradle符合自己项目的版本(找一个能运行的项目) 第二步:在gradle.properties中添加android.enableAapt2=false 个人亲测有效,做个笔记,“留校观看”...
解决AS3.1.4的com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details