缺少 aidl android 工作室
aidl is missing android studio
Environment:
Mac OS 10.10.3
Android studio:1.2.11
grandle:2.2.1
日志:
Information:Gradle tasks [:generateDebugSources, :generateDebugTestSources]
:preBuild
:preDebugBuild
:checkDebugManifest
:prepareDebugDependencies
:compileDebugAidl FAILED
Error:Execution failed for task ':compileDebugAidl'.
> aidl is missing
// Top-level build file where you can add configuration options common to all sub-projects/modules.
import org.gradle.internal.os.OperatingSystem
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
String SDK_DIR = System.getenv("ANDROID_HOME")
if(SDK_DIR == null) {
Properties props = new Properties()
props.load(new FileInputStream(project.rootProject.file("local.properties")))
SDK_DIR = props.get('sdk.dir');
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
}
buildTypes {
release {
proguardFiles 'proguard.cfg'
}
}
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
provided files("${SDK_DIR}/platforms/android-17/data/layoutlib.jar")
//compile files('libs/pass-v1.1.3.jar')
// compile files('libs/sdk-v1.0.0.jar')
}
在此之前,我在Mac上编译了android资源4.4,并修改了OS系统中的一些文件,我想是这个原因,但是我忘记是哪个文件了,有人遇到过这个问题
在我的例子中,我使用 Android Studio 1.2.1.1 下载了 Android M 和 Android 5.1.1 的第 22 版,但是当我尝试做一个 Hello World 时,同样的错误给我看
所以解决方案是像下图一样在应用程序中右击并选择"Open Module Settings".....
那么你有两个选择。我已经用我的最后一个版本改变了两者。
编译SDK版本为API21 Lollipop
并将构建工具版本升级到 21.1.2
最后清理项目并构建
更新
这是我的 build.gradle 与您的 build.gradle 的比较。
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
applicationId "com.android.bmi"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
已更新
要获取 Android Studio 1.3,请按照以下步骤操作
- 通过选择“文件”>“设置”打开“设置”window。
- 选择外观和行为 > 系统设置 > 更新面板。
- 在更新面板上,选择选项自动检查更新:Canary Chanel。
- 在“更新”面板上,select立即检查以检查最新的 Canary 版本。 5. 出现提示时下载并安装构建。
然后你将有这样的东西来将你的 Android Studio 更新到 1.3,你可以用它来测试 Android M
按照 Jorge post 的屏幕截图,您所要做的就是确保您没有 select Build Tools Version 23.0.0 rc1。我还没有在 IDE 或 Google 的错误跟踪器中完全调查该版本,但我所要做的就是选择以前的工具版本,并且在进行干净构建后它工作得很好。我尝试了各种 SDK 最小版本。
我是 运行 OSX 10.10.3,Android Studio 1.2.1.1 运行 在 Oracle JDK 1.8.0_45-b14
已更新解决方案
此问题在本质上与 相同。请阅读我的 post 以获得正确的解决方案和对解决方案起源的参考。
使用 android studio 1.3 预览版构建应用程序的人可能会遇到 Debug AIDL missing 错误
解决方法:(按顺序)
1) 下载预览通道下的所有工具(即版本号 23.0.0 rc1)
2) 下载 play servies 和 android support repo support under extras
3) 重新启动 Android Studio
4)按F4,设置编译SDK版本为API22+,Build tool version 23.0.0 rc1
5) 打开 build.gradle(Project:******) 并用类路径 'com.android.tools.build:gradle:1.3.+'
更改类路径行
我关注了 Jorge post 的截图。但是没有 API 21 作为选项。所以我保持编译的 SDK 版本 'API 22: Android 5.1 (Lollipop)' 不变,并将构建工具版本从 23.0.0 rc1 更改为 22.0.1
我还必须安装 JDK 7,因为 22.0.1 不支持 JDK 6。之后 gradle 构建成功。
我解决了我的问题,将构建工具版本从21.1.2设置为22.0.1,希望能帮助遇到同样问题的人。
根据我的经验,不是关于Compile Sdk Version或者Build Tool Version,而是关于New项目结构。根据此 issue,Aidl 文件应该在 src/main/aidl 中,一旦您将 *.aidl 放在假定的目录中,Android Studio 就会按预期服务。
和如果你想在src/main/java中使用它们,那么你需要你指定的重新映射指令,如下所示:
sourceSets {
main {
aidl.srcDirs = ['src/main/java']
}
}
顺便说一句,在我的情况下,重新映射方法仅适用于 Gradle 2.4(也可能高于版本)。
对于那些你仍然收到 "aidl is missing" 错误的人:
对我来说,降低构建工具版本根本不是解决方案。
在您的顶级 build.gradle 文件中,尝试设置:
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.google.gms:google-services:1.3.1'
然后使用buildToolsVersion '23.0.1'
.
它非常适合我。希望对大家有帮助。
Environment:
Mac OS 10.10.3
Android studio:1.2.11
grandle:2.2.1
日志:
Information:Gradle tasks [:generateDebugSources, :generateDebugTestSources]
:preBuild
:preDebugBuild
:checkDebugManifest
:prepareDebugDependencies
:compileDebugAidl FAILED
Error:Execution failed for task ':compileDebugAidl'.
> aidl is missing
// Top-level build file where you can add configuration options common to all sub-projects/modules.
import org.gradle.internal.os.OperatingSystem
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
String SDK_DIR = System.getenv("ANDROID_HOME")
if(SDK_DIR == null) {
Properties props = new Properties()
props.load(new FileInputStream(project.rootProject.file("local.properties")))
SDK_DIR = props.get('sdk.dir');
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
}
buildTypes {
release {
proguardFiles 'proguard.cfg'
}
}
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
provided files("${SDK_DIR}/platforms/android-17/data/layoutlib.jar")
//compile files('libs/pass-v1.1.3.jar')
// compile files('libs/sdk-v1.0.0.jar')
}
在此之前,我在Mac上编译了android资源4.4,并修改了OS系统中的一些文件,我想是这个原因,但是我忘记是哪个文件了,有人遇到过这个问题
在我的例子中,我使用 Android Studio 1.2.1.1 下载了 Android M 和 Android 5.1.1 的第 22 版,但是当我尝试做一个 Hello World 时,同样的错误给我看
所以解决方案是像下图一样在应用程序中右击并选择"Open Module Settings".....
那么你有两个选择。我已经用我的最后一个版本改变了两者。
编译SDK版本为API21 Lollipop
并将构建工具版本升级到 21.1.2
最后清理项目并构建
更新 这是我的 build.gradle 与您的 build.gradle 的比较。
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '21.1.2'
defaultConfig {
applicationId "com.android.bmi"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
已更新
要获取 Android Studio 1.3,请按照以下步骤操作
- 通过选择“文件”>“设置”打开“设置”window。
- 选择外观和行为 > 系统设置 > 更新面板。
- 在更新面板上,选择选项自动检查更新:Canary Chanel。
- 在“更新”面板上,select立即检查以检查最新的 Canary 版本。 5. 出现提示时下载并安装构建。
然后你将有这样的东西来将你的 Android Studio 更新到 1.3,你可以用它来测试 Android M
按照 Jorge post 的屏幕截图,您所要做的就是确保您没有 select Build Tools Version 23.0.0 rc1。我还没有在 IDE 或 Google 的错误跟踪器中完全调查该版本,但我所要做的就是选择以前的工具版本,并且在进行干净构建后它工作得很好。我尝试了各种 SDK 最小版本。
我是 运行 OSX 10.10.3,Android Studio 1.2.1.1 运行 在 Oracle JDK 1.8.0_45-b14
已更新解决方案
此问题在本质上与
使用 android studio 1.3 预览版构建应用程序的人可能会遇到 Debug AIDL missing 错误 解决方法:(按顺序) 1) 下载预览通道下的所有工具(即版本号 23.0.0 rc1) 2) 下载 play servies 和 android support repo support under extras 3) 重新启动 Android Studio 4)按F4,设置编译SDK版本为API22+,Build tool version 23.0.0 rc1 5) 打开 build.gradle(Project:******) 并用类路径 'com.android.tools.build:gradle:1.3.+'
更改类路径行我关注了 Jorge post 的截图。但是没有 API 21 作为选项。所以我保持编译的 SDK 版本 'API 22: Android 5.1 (Lollipop)' 不变,并将构建工具版本从 23.0.0 rc1 更改为 22.0.1
我还必须安装 JDK 7,因为 22.0.1 不支持 JDK 6。之后 gradle 构建成功。
我解决了我的问题,将构建工具版本从21.1.2设置为22.0.1,希望能帮助遇到同样问题的人。
根据我的经验,不是关于Compile Sdk Version或者Build Tool Version,而是关于New项目结构。根据此 issue,Aidl 文件应该在 src/main/aidl 中,一旦您将 *.aidl 放在假定的目录中,Android Studio 就会按预期服务。
和如果你想在src/main/java中使用它们,那么你需要你指定的重新映射指令,如下所示:
sourceSets {
main {
aidl.srcDirs = ['src/main/java']
}
}
顺便说一句,在我的情况下,重新映射方法仅适用于 Gradle 2.4(也可能高于版本)。
对于那些你仍然收到 "aidl is missing" 错误的人:
对我来说,降低构建工具版本根本不是解决方案。
在您的顶级 build.gradle 文件中,尝试设置:
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.google.gms:google-services:1.3.1'
然后使用buildToolsVersion '23.0.1'
.
它非常适合我。希望对大家有帮助。