android निष्पादन कार्य के लिए विफल रहा ': ऐप: compileDebugAidl': aidl गुम है




android-studio android-gradle (12)

मैं एसडीके 23.1.0 के साथ काम कर रहा हूं और 1.3.1 ग्रेडल कर रहा हूं। मैंने एक नई परियोजना बनाई जिसे कुछ भी संपादित नहीं किया गया और सहायता त्रुटि मिली। मैं अपनी परियोजना ग्रेडल फ़ाइल में गया और टूल को 23.1.0 के बजाय 22.0.1 में बदल दिया और यह काम किया:

   compileSdkVersion 23
   buildToolsVersion "22.0.1" //"23.1.0"

मैंने अपने कंप्यूटर पर एंड्रॉइड स्टूडियो स्थापित किया। मैंने एक नई परियोजना बनाई लेकिन मुझे नीचे त्रुटि मिली। मैं क्या कर सकता हूँ?

Error:Execution failed for task ':app:compileDebugAidl'.
> aidl is missing

मेरा एंड्रॉइड स्टूडियो संस्करण 1.1.0

यह मेरी build.gradle फ़ाइल है:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

तथा :

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "24.1.2"

    defaultConfig {
        applicationId "com.example.jo.cloning_a_login_screen"
        minSdkVersion 13
        targetSdkVersion 21
        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.0.0'
}

मैं बिल्ड टूल्स 23.0.0 आरसी 1 के साथ काम करने में सक्षम था अगर मैंने प्रोजेक्ट लेवल build.gradle फ़ाइल भी खोली और एंड्रॉइड बिल्ड प्लगइन का संस्करण 1.3.0-बीटा 1 पर सेट किया। इसके अलावा, मैं कैनरी और पूर्वावलोकन बिल्ड को ट्रैक कर रहा हूं और बस कुछ सेकंड पहले अपडेट किया गया था, इसलिए शायद इससे मदद मिली।

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0-beta1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

मुझे एंड्रॉइड स्टूडियो 1.2.1.1 के एक नए इंस्टॉलेशन के साथ एपीआई 22: एंड्रॉइड 5.1 (लॉलीपॉप) के लिए एक नया रिक्त ऐप बनाने का प्रयास करने में एक ही त्रुटि थी।

मैंने बस बिल्ड टूल्स संस्करण को "23.0.0 आरसी 1" से "22.0.1" में बदलकर और फिर पुनर्निर्माण करके इसे ठीक किया।

विंडोज़ पर, एफ 4 प्रोजेक्ट स्ट्रक्चर खोलता है और बिल्ड टूल्स संस्करण मॉड्यूल> ऐप सेक्शन में सेट किया जा सकता है:

मुझे लगता है कि यह सब ऐप में build.gradle फ़ाइल में सेटिंग बदल रहा है, लेकिन अगर मैं कुछ और करता हूं तो मैं इसे मैन्युअल रूप से बदलना नहीं चाहता था।


अपने फ़ाइल ब्राउज़र का उपयोग करें और IInAppBillingService.aidl को कॉपी / पेस्ट करें / ऐप / src / main / aidl / com / android / vending / बिलिंग /


समस्या वास्तव में कैनरी चैनल से अद्यतन Android Studio 1.3 संस्करण में थी। मैंने अपने studio को 1.3 पर अपडेट किया और एक ही त्रुटि मिली लेकिन studio 1.2.1 पर वापस लौटने से मेरी परियोजना ठीक हो गई।


मेरे मामले में मैंने एंड्रॉइड स्टूडियो 1.2.1.1 का उपयोग करके एंड्रॉइड एम और एंड्रॉइड 5.1.1 के संस्करण 22 को डाउनलोड किया लेकिन जब मैं हैलो वर्ल्ड करने की कोशिश करता हूं तो इसी त्रुटि ने मुझे दिखाया

तो मेरे लिए समाधान नीचे दी गई छवि की तरह ऐप में राइट क्लिक कर रहा था और "ओपन मॉड्यूल सेटिंग्स" चुनें

तो वहां आपके पास 2 विकल्प हैं। मैंने पिछले संस्करण के साथ दोनों को बदल दिया है।

एपीआई 21 लॉलीपॉप में एसडीके संस्करण संकलित करें

और 21.1.2 करने के लिए उपकरण संस्करण बनाएँ

अंत में परियोजना को साफ करें और बनाएं

UPDATED

एंड्रॉइड स्टूडियो 1.3 प्राप्त करने के लिए इन चरणों का पालन करें

  1. फ़ाइल> सेटिंग्स चुनकर सेटिंग विंडो खोलें।
  2. उपस्थिति और व्यवहार> सिस्टम सेटिंग्स> अपडेट पैनल चुनें।
  3. अपडेट पैनल पर, विकल्प का चयन करें: कैनरी चैनल के लिए स्वचालित रूप से अपडेट की जांच करें।
  4. अपडेट पैनल पर, नवीनतम कैनरी बिल्ड की जांच के लिए अभी चेक करें का चयन करें। जब आपको संकेत मिले तो बिल्ड को डाउनलोड और इंस्टॉल करें।

फिर आपके पास एंड्रॉइड स्टूडियो को 1.3 पर अपडेट करने के लिए कुछ ऐसा होगा और इसके साथ आप एंड्रॉइड एम का परीक्षण कर सकते हैं

अद्यतन: असली कारण

यह बग तब होता है जब एसडीके, बिल्ड टूल्स और ग्रैडल प्लगइन्स के संस्करण मेल नहीं खाते (संगतता के मामले में)। समाधान यह सत्यापित करना है कि आप उनमें से नवीनतम संस्करण का उपयोग कर रहे हैं या नहीं। ग्रेडल प्लगइन्स प्रोजेक्ट के build.gradle में रखे जाते हैं, और अन्य संस्करण मॉड्यूल के build.gradle पर हैं। उदाहरण के लिए, एसडीके 23 के लिए, आपको बिल्ड टूल्स 23.0.1 और ग्रेड प्लगइन्स संस्करण 1.3.1 का उपयोग करना होगा।


aidl is missing बिना अपना एप्लिकेशन बनाने के लिए compileSdkVersion 23 और buildToolsVersion "23.0.1" साथ त्रुटि aidl is missing आपको मुख्य build.gradle फ़ाइल में build.gradle प्लगइन (और Google Play Services Gradle प्लगइन का उपयोग कर रहे हैं) के लिए नवीनतम संस्करण निर्दिष्ट करना चाहिए:

buildscript {
    repositories {
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
        classpath 'com.google.gms:google-services:1.3.1'
    }
}

मुझे एक ही त्रुटि थी जिसे मैंने build.gradle (Module: app) जाकर तय किया और इस लाइन को बदल दिया:

 buildToolsVersion "23.0.0 rc1"

सेवा मेरे :

buildToolsVersion "22.0.1"

आपको एसडीके प्रबंधक जाने और जांचने की आवश्यकता होगी कि आपके पास 22.0.1 बिल्ड टूल्स हैं या नहीं। यदि नहीं, तो आप सही निर्माण उपकरण का उपयोग कर सकते हैं लेकिन 23.0.0 आरसी 1 से बचें।


मैंने अनइंस्टॉल करने / इंस्टॉल करने का प्रयास किया और यह काम नहीं किया। मैं जेडीके 1.8.0_45-बी 14 पर एंड्रॉइड स्टूडियो 1.2.1.1 के साथ ओएसएक्स 10.10.3 चला रहा हूं और जो समाधान मैंने पाया है वह जॉर्ज कैसरिगो की सिफारिश के समान है। असल में, बॉक्स से बाहर आपको एक अनुपलब्ध 'एडीएल' मॉड्यूल के लिए बिल्ड त्रुटि मिलती है, इसलिए बिल्ड टूल्स संस्करण को संस्करण 23.0.0 आरसी 1 नहीं बदलने के लिए बस अपनी समस्या का समाधान होगा। ऐसा लगता है कि एक बग है।

अद्यतन अपने ट्रैकर पर एक एंड्रॉइड मुद्दे पर टिप्पणी करने के बाद ( https://code.google.com/p/android/issues/detail?id=175080 ) एंड्रॉइड टूल्स समूह के एक प्रोजेक्ट सदस्य ने टिप्पणी की कि बिल्ड टूल्स संस्करण 23.0 का उपयोग करने के लिए .0 आरसी 1 आपको एंड्रॉइड ग्रैडल प्लगइन 1.3.0-बीटा 1 का उपयोग करने की आवश्यकता है (एंड्रॉइड स्टूडियो 1.2.3 के साथ कॉन्फ़िगर किया गया है)। उन्होंने यह भी नोट किया (मुद्दा टिप्पणियां पढ़ें) कि आईडीई को एक अधिसूचना दी जानी चाहिए कि आपको इसे काम करने के लिए ऐसा करने की आवश्यकता है। मेरे लिए मैंने एक अधिसूचना नहीं देखी है और मैंने उस परियोजना सदस्य से स्पष्टीकरण का अनुरोध किया है। फिर भी उनके मार्गदर्शन ने पूरी तरह से इस मुद्दे को हल किया।

समाधान : अपने प्रोजेक्ट के लिए अपना build.gradle खोलें (मॉड्यूल नहीं)। dependencies तहत लाइन classpath com.android.tools.build:gradle:xxx खोजें जहां xxx ग्रैडल प्लगइन संस्करण है और अद्यतन करें। अपनी परियोजना को सहेजें और पुनर्निर्माण करें। अपने ग्रैडल संस्करणों के प्रबंधन के लिए एंड्रॉइड ग्रैडल डॉक्स यहां दिए गए हैं: https://developer.android.com/tools/revisions/gradle-plugin.html


इसे दो दिन पहले तय कर दिया गया है, इसलिए आप इसका उपयोग कर सकते हैं:

buildToolsVersion '23.0.0 rc2'

नवीनतम एंड्रॉइड ग्रेडल प्लगइन के साथ:

classpath 'com.android.tools.build:gradle:1.3.0-beta2'

नोट: मुझे 2.4 वितरण के साथ कुछ अजीब समस्याएं थीं, लेकिन परियोजना को फिर से बनाने की कोशिश करने से मेरे लिए यह तय हो गया है।

संपादित करें

बिल्ड-टूल्स 23 का एक नया संस्करण है, इसलिए आपको शायद इसका उपयोग करना चाहिए:

buildToolsVersion '23.0.0 rc3'

संपादित करें 2

और फिर भी, दोनों ग्रेडल प्लगइन और बिल्ड-टूल्स के नए संस्करण हैं, इसलिए आप इसका उपयोग करने के लिए स्विच कर सकते हैं:

classpath 'com.android.tools.build:gradle:1.3.0'

तथा

buildToolsVersion '23.0.0'

त्वरित फिक्स जो मेरे लिए काम करता है:

प्रोजेक्ट पर राइट क्लिक करें -> "ओपन मॉड्यूल सेटिंग्स" -> टूल्स टूल्स वर्जन में बदलाव करें: 22.0.1


जांचें कि आपने वास्तव में buildVersionTools को इंस्टॉल किया है या नहीं। मेरे मामले में मैंने 25.0.1 की कोशिश की, जबकि मेरे पास केवल 25.0.2 था।

इसे जांचने के लिए, एसडीके प्रबंधक पर जाएं, आइकन पर क्लिक करें:

फिर नीचे स्टैंडअलोन एसडीके प्रबंधक लॉन्च करें क्लिक करें:

अब जो भी आपको चाहिए और पैकेज इंस्टॉल करें जांचें।

आशा करता हूँ की ये काम करेगा!