Android(安卓)Studio编译失败问题(aapt2)
16lz
2021-12-04
Android Studio 3.1编译时出错:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeDebugResources'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
Caused by: Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details at com.android.ide.common.res2.MergedResourceWriter.end(MergedResourceWriter.java:332) at com.android.ide.common.res2.DataMerger.mergeData(DataMerger.java:301) at com.android.ide.common.res2.ResourceMerger.mergeData(ResourceMerger.java:412)
根据网上说的添加了android.enableAapt2=false,一开始都OK后来创建新项目又出了问题:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexWithInstantRunDependenciesApkForDebug'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
根据查找说是修改一个Android Studiio 一个配置就可以,取消选中Enable Instant Run :
修改之后真的可以运行了,但取消这个选中之后编写代码会非常麻烦,资源文件的引用非常麻烦,需要手写,还需要重新编译才能看出是否正确。
java.lang.RuntimeException: com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: Failed to execute aapt at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55) at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104)
最后查看log感觉还是aapt的问题,果然把android.enableAapt2=false 改为true就可以了。
附:一个提示编译时错误的方法 gradlew compileDebugJavaWithJavac
补充一下,在家打开发现编译失败 根据gradlew mergeDebugResources发现.gradle/cache下兼容包里的图片和一些第三方库中的图片或者资源文件找不到,发现是路径上有中文名称的问题,该用户名就太麻烦了,可以把.gradle文件拷贝出来,再在Android Studio中设置:
更多相关文章
- python list.sort()根据多个关键字排序的方法实现
- 动态库so打包到android apk
- android上用opengl画线
- update android api
- android代码实现自动关机
- Android根据不同语言切换图片
- Android编译系统一
- android 命令行创建工程
- xpose框架使用android studio