在使用Android Studio 2.2.3编译一个新工程时(操作系统版本为Ubuntu 16.04 LTS),发现一个莫名其妙的错误:
Error:Execution failed for task ':app:compileArmDebugAidl'.
> java.lang.RuntimeException: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/home/myusr/Android/Sdk/build-tools/23.0.3/aidl''
> java.lang.RuntimeException: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/home/myusr/Android/Sdk/build-tools/23.0.3/aidl''
错误信息只有上面这些。在网上查了一下,有人说是因为compileSdkVersion和buildToolVersion大版本不匹配导致。查看我的project中的app/build.gradle,发现相关定义为:
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.android.xxx"
minSdkVersion 19
targetSdkVersion 23
}
并不存在大版本不匹配的问题。AS也是目前能够找到的最新版本。后来把sdk/build tool version都升级成最新的试了一下,build过了:
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.android.xxx"
minSdkVersion 19
targetSdkVersion 25
}
怀疑新的版本build tool已经解决了这个问题,把compile sdk改回原始值,用build tool 25试一下:
compileSdkVersion 23
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.android.xxx"
minSdkVersion 19
targetSdkVersion 23
}
编译通过!