Environment:
Mac OS 10.10.3
Android studio:1.2.11
grandle:2.2.1
le journal:
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')
}
auparavant, j'avais compilé la Android ressource 4.4 sur mon Mac et modifié certains fichiers dans le système d'exploitation, je pense que c'est la raison, mais j'ai oublié quel fichier, quelqu'un a rencontré ce problème encore
Je résous mon problème, je règle la version des outils de génération de 21.1.2 à 22.0.1, en espérant que cela puisse aider ceux qui se rencontrent.
Dans mon cas, j'ai téléchargé la version 22 de Android M et Android 5.1.1 en utilisant Android Studio 1.2.1.1 mais quand J'essaie de faire un Hello World cette même erreur m'a montré
La solution était donc d'aller faire un clic droit dans l'application comme dans l'image ci-dessous et de choisir "Ouvrir les paramètres du module" .....
alors là vous avez 2 options. J'ai changé les deux avec la dernière version que j'avais.
Compiler la version du SDK en API 21 Lollipop
et construire la version des outils vers 21.1.2
Enfin nettoyez le projet et construisez
UPDATE Voici mon build.gradle à comparer avec votre 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'
}
MIS À JOUR
À obtenir Android Studio 1.3 suivez ces étapes
Ensuite, vous aurez quelque chose comme ceci pour mettre à jour votre Android Studio vers la version 1.3 et avec cela, vous pourrez tester Android M
Pour ceux que vous obtenez toujours l'erreur "aidl is missing":
Pour moi, revenir à la version des outils de construction n’est pas du tout une solution.
Sur votre fichier build.gradle de niveau supérieur, essayez de définir: classpath 'com.Android.tools.build:gradle:1.3.0'
classpath 'com.google.gms:google-services:1.3.1'
puis utilisez buildToolsVersion '23.0.1'
.
Cela a fonctionné parfaitement pour moi. J'espère que ça aide les autres.
En suivant les captures d'écran de l'article de Jorge, il vous suffit de vous assurer de ne pas sélectionner Build Tools Version 23.0.0 rc1. Je n'ai pas complètement étudié cette version dans le IDE ou sur le traqueur de bogues de Google), mais tout ce que j'avais à faire, c'était de choisir la version précédente de l'outil. Cela fonctionnait parfaitement après une nouvelle version. avec différentes versions du SDK min.
J'utilise OSX 10.10.3 avec Android Studio 1.2.1.1 fonctionnant sur Oracle JDK 1.8.0_45-b14
MISE À JOUR AVEC LA SOLUTION Ce problème est de nature identique à L'exécution a échoué pour la tâche ': app: compileDebugAidl ': aidl est manquant . S'il vous plaît lisez mon post pour la solution appropriée et des références à la genèse de la solution.
les personnes qui construisent des applications avec Android aperçu du studio 1.3 risque d’obtenir l'erreur d'erreur de débogage AIDL Solution: (suivez dans l'ordre) 1) Téléchargez tous les outils sous le canal de prévisualisation (c'est-à-dire la révision n ° 23.0.0 rc1) 2) Téléchargez les servies de lecture et Android prise en charge du référentiel sous extras 3) Redémarrez Android Studio 4) Appuyez sur F4 et définissez la version de compilation du SDK sur API 22+ et Build. tool version 23.0.0 rc1 5) ouvrez le fichier build.gradle (Projet: ******) et modifiez la ligne du chemin de classe avec le chemin de classe 'com.Android.tools.build:gradle:1.3.+'
D'après mon expérience, il n'y a pas de Compile Sdk Version ou Build Tool Version, concerne la Nouvelle structure de projet. Selon ce numéro , , les fichiers Aidl sont supposés être dans src/main/aidl , une fois que vous avez mis * .aidl à le répertoire supposé, Android Studio le servirait comme prévu.
Et Si vous voulez les avoir dans src/main/Java, vous avez besoin de l'instruction de remappage comme vous l'avez spécifié , comme ci-dessous:
sourceSets {
main {
aidl.srcDirs = ['src/main/Java']
}
}
par ailleurs, dans ma situation, l'approche de remappage ne fonctionne que par Gradle 2.4 (également probablement au-dessus de la version).
J'ai suivi des captures d'écran du message de Jorge. Mais n’avait pas l’API 21 en option. J'ai donc conservé la version compilée du kit de développement logiciel 'API 22: Android 5.1 (Lollipop)' telle qu'elle est
J'ai également dû installer JDK 7 car 22.0.1 ne supportait pas JDK 6. Après cette construction, Gradle a réussi.