android 库编译报错,Android Studio 编译报错问题汇总

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

下面是在工作中Studio 中经常报错的一些问题,现汇总如下:

由于引用库版本和编译版本不一致导致

studio 报错如下:

1

2

3Error:Execution failed for task ':app:processcvtouchDebugResources'

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command

'/Users/Aaron/Library/Android/sdk/build-tools/21.1.1/aapt'' finished with non-zero exit value 1解决办法:

主要报错是说v21/values-v21.xml 文档中很多资源找不到,不匹配的问题。

最终发现在build.gradle 中配置的compileSdkVersion 与引用的库版本不一致导致,例如编译使用的是21,但是引用库是23的版本,例如:compile 'com.android.support:recyclerview-v7:23.3.0'

此时将两个版本统一即可。比如修改compileSdkVersion 的版本为 23 则可以解决此问题。

由于项目中与Library中jar包重复引起的异常。

常见错误如下,一般在Multiple dex files 后面会跟上重复的jar的包名。

com.android.dex.DexException:Multiple dex files define Landroid/support/v4/*解决办法:

查看各个依赖的子工程的libs以及build.gradle文档夹下面是否有相同的jar包。将多余的去掉重新clean并build即可

由于引用不同sdk版本导致的问题

Error:Execution failed for task ':CommonLibrary:LibImageLoader:mockableAndroidJar'.> java.lang.NullPointerException (no error message)解决办法:在相关的build.gradle 文档中的末尾添加如下代码:1

2

3

4

5tasks.whenTaskAdded { task ->

if (task.name.contains('mockableAndroidJar')) {

task.enabled = false

}

}

Unsupported major.minor version 52.0

Error:(1, 0) Cause: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0

此错误主要是因为本地的gradle build tools 版本比配置的低了,要么升级AS的版本,要么就是改project的build.gradle里的dependencies下面的classpath 与AS的版本保持一致就行。

安装时提示 apk 在磁盘上未找到

错误日志如下:

The APK file /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk does not exist on disk.解决办法: 在AS工程的的右上角,Gradle projects上面点击刷新按钮,如下图:

编译提示‘default not found’

错误提示如下:Error:Configuration with name 'default' not found.解决办法:打开settings.gradle发现里面有很多个include ‘:app’这样的include,然而发现在工程的目录下面根本没有include的项目,所以将需要include的项目添加进来,如果include的项目不需要,则将其include语句直接删掉,重新sync尝试。

按照上面的操作,要么添加了相应inlcude的工程进来,但是发现还是会提示这样的default not found语句,怎么回事呢,原来用gradle编译的工程,每个工程下面都必须要有build.gradle文档,才能够编译include的工程。整个大工程才能sync通过。把include工程中都添加上相应的gradle配置文档,再重新进行sync,整个工程都通过了。

你可能感兴趣的:(android,库编译报错)