我们在用安卓Studio开发过程中,经常会遇到些让人看不懂的报错,以下是我记录的一些。
1.安卓studio升级到3.0后,创建项目时报错.
报错:
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for detail
产生原因:
在升级到gradle3.0.0后,AAPT2编译是默认打开的。
解决办法:
在项目的gradle.properties中写一行关闭AAPT2编译的代码:android.enableAapt2=false,然后再同步。如下图
同步后可能会继续报错,并且每次同步项目都会报这个错
Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.
这时只需要Rebuild Project一下即可。
后来,AS升级到3.1以后这个方法用不成了,没关系,有新的方法
在你的项目的build.gradle文件的dependencies{}里的classpath给改成:
classpath 'com.android.tools.build:gradle:3.2.0-alpha11'
如下图:
2.在项目中添加JiaoZiVideoPlayer之后报错。
可能是minSdkVersion的版本号过低,JiaoZiVideoPlayer的的运行最低SDK版本号必须>=16。
3.在项目新建个library依赖(或者项目添加了个library依赖)之后报错。
报错:
Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

产生原因:
因为build.gradle统一管理后,app-module和library的build.gradle中都有测试包的依赖代码:
//库依赖
dependencies{
//......
testImplementation librarys.testImplementation_test_junit
androidTestImplementation librarys.androidTestImplementation_support_runner
androidTestImplementation librarys.androidTestImplementation_support_espresso
//......
}
解决办法:因为依赖重复了,所以删除app-module的这部分代码就行了,如下图所示: