web-dev-qa-db-ja.com

aidlが欠落しています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システムの一部のファイルを変更しました。それは理由だと思いますが、どのファイルを忘れたか、誰かがまだこの問題に遭遇した

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.

私は自分の問題を解決し、ビルドツールのバージョンを21.1.2から22.0.1に設定します。これが同じ人に役立つことを願っています。

20
user2580278

私の場合、Android MおよびAndroid 5.1.1のバージョン22をAndroid St​​udio 1.2.1.1を使用してダウンロードしましたが、これと同じHello Worldを実行しようとするとエラーが私を示した

そのため、下の画像のようにアプリを右クリックして「モジュール設定を開く」を選択します。

enter image description here

次に、2つのオプションがあります。私が持っていた最後のバージョンで両方を変更しました。

SDKバージョンをAPI 21 Lollipopにコンパイルします

enter image description here

およびビルドツールバージョン21.1.2

enter image description here

最後にプロジェクトをクリーンアップしてビルドします

更新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 St​​udio 1.3を入手するには、次の手順を実行します

  1. [ファイル]> [設定]を選択して、[設定]ウィンドウを開きます。
  2. [外観と動作]> [システム設定]> [更新]パネルを選択します。
  3. [更新]パネルで、[更新を自動的にチェックする:カナリーシャネル]オプションを選択します。
  4. [更新]パネルで、[今すぐ確認]を選択して、最新のカナリアビルドを確認します。 5.プロンプトが表示されたら、ビルドをダウンロードしてインストールします。

次に、Android St​​udioを1.3に更新するこのようなものがあります。これでAndroid Mをテストできます

enter image description here

70
Jorge Casariego

まだ「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'を使用します。

それは私にとって完璧に機能しました。他の人の役に立つことを願っています。

15
Sergio Correa

Jorgeの投稿のスクリーンショットに従って、あなたがしなければならないことは、ビルドツールバージョン23.0.0 rc1を選択するしないことを確認することだけです。 IDEまたはGoogleのバグトラッカーでそのバージョンを完全には調査していませんが、以前のツールバージョンを選択するだけで、クリーンビルドを実行した後は正常に機能しました。さまざまなSDKの最小バージョンでこれを試しました。

Oracle JDK 1.8.0_45-b14で実行されているAndroid St​​udio 1.2.1.1でOSX 10.10.3を実行しています

UPDATED WITH SOLUTIONこの問題は、本質的に タスクの実行に失敗しました ': app:compileDebugAidl ':aidlがありません 。適切な解決策とその解決策の起源については、私の投稿を読んでください。

8
Johnny Mohseni

Android studio 1.3プレビューでアプリを構築している人は、デバッグAIDLが見つからないというエラーが発生する可能性があります。解決策:(順を追って)1)およびAndroidは追加でレポサポートをサポートします3)Android Studioを再起動します4)F4を押してSDKバージョンをAPI 22+に設定し、ビルドツールバージョン23.0.0 rc1 5)build.gradleを開きます(プロジェクト: ******)クラスパスの行をクラスパス「com.Android.tools.build:gradle:1.3.+」に変更します

2
Mayank Metha

私の経験では、Compile Sdk VersionBuild Tool Versionについてではなく、New Project Structureについてです。これによれば issueAidlファイルは* .aidlを次の場所に置くとsrc/main/aidlにあるはずです想定されるディレクトリ、Android St​​udioは期待どおりにサービスを提供します。

そして、src/main/Javaでそれらを保持したい場合は、以下のように、指定した再マッピング命令が必要です:

sourceSets {
    main {
        aidl.srcDirs = ['src/main/Java']
    }
}

ところで、私の状況では、リマッピングアプローチはGradle 2.4(おそらく上記バージョンよりも)によってのみ機能します。

1
VinceStyling

Jorgeの投稿のスクリーンショットをフォローしました。ただし、オプションとしてAPI 21はありませんでした。そのため、コンパイル済みSDKバージョン 'API 22:Android 5.1(Lollipop)'をそのままにして、ビルドツールバージョンを23.0.0 rc1から22.0.1に変更しました

22.0.1はJDK 6をサポートしていなかったため、JDK 7もインストールする必要がありました。その後、gradleビルドは成功しました。

enter image description hereenter image description here

1
vaichidrewar