web-dev-qa-db-fra.com

aidl est manquant Android studio

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

41
user2580278

I solve my issue, set the build tools version from 21.1.2 to 22.0.1, hope it can help who meet the same.

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.

20
user2580278

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" .....

enter image description here

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

enter image description here

et construire la version des outils vers 21.1.2

enter image description here

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

  1. Ouvrez la fenêtre Paramètres en choisissant Fichier> Paramètres.
  2. Choisissez le panneau Apparence et comportement> Paramètres système> Mises à jour.
  3. Dans le panneau Mises à jour, choisissez l'option Vérifier automatiquement les mises à jour pour: Canary Chanel.
  4. Dans le panneau Mises à jour, sélectionnez Vérifier maintenant pour rechercher la dernière version de Canary. 5. Téléchargez et installez la construction à l'invite.

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

enter image description here

70
Jorge Casariego

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.

15
Sergio Correa

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.

8
Johnny Mohseni

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.+'

2
Mayank Metha

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).

1
VinceStyling

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.

enter image description hereenter image description here

1
vaichidrewar