Android Studio是现在Android开发的主流工具,官方对这款工具也是大力支持的,工具中包含有很多的便捷功能,有兴趣的可以去多多发倔,使用过程中编译时常会遇到各种问题,当然最后我们通过搜索资料终会解决,这里收集一下工作中遇到的编译问题,做个记录,避免以后出类似问题无处寻找,或耗费多余时间
目录
Execution failed for task ':app:mergeDebugResources
aapt.exe'' finished with non-zero exit value 1
Execution failed for task ':app:mergeDebugResources
异常日志
Error:Execution failed for task ':app:mergeDebugResources'. >
Error:java.util.concurrent.ExecutionException:
com.android.ide.common.process.ProcessException:
解决
在gradle的android{ ... } 中加入这两句就可以了
android {
......
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
......
}
aapt.exe'' finished with non-zero exit value 1
在使用高版本的AS和Gradle构建项目的时候,会自动生成带有高级属性的项目,
如利用vector属性的xml,mipmap资源;如果你的项目选择用的编译版本即android版本过低,
则会出现aapt2和aapt的问题;
解决方法也很简单,去除这些高级属性
org.jetbrains.plugins.gradle.service.project.GradleProjectResolverExtension taken from open source projects.
此问题出现的原因多为Android studio安装了插件,但是插件与当前gradle与兼容导致,卸载插件即可
Manifest merger failed
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0]
AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value= (androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:24:5-81:19 to override.
解决办法,改为使用androidx使用androidx是趋势,晚痛不如早痛。
参考 AndroidX了解一下,大致如下
1、升级android studio到3.2.0以上
2、更改为androidx