असमर्थित विधि: BaseConfig.getApplicationIdSuffix ()


248

इसलिए मैं प्रोग्रामर के लिए एंड्रॉइड 6 पढ़ रहा हूं : एक ऐप-प्रेरित दृष्टिकोण और पहले दो ऐप उदाहरणों के साथ मेरे पास कोई समस्या नहीं थी, इस बार फ्लैगक्विज उदाहरण जब एंड्रॉइड स्टूडियो 3.0 में लोड किया गया कैनरी -3 मुझे यह त्रुटि मिल रही है जो मुझे प्रोजेक्ट बनाने नहीं दे रहा है:

त्रुटि: असमर्थित विधि: BaseConfig.getApplicationIdSuffix ()। आप जिस ग्रेड से कनेक्ट होते हैं, उसका संस्करण उस पद्धति का समर्थन नहीं करता है। समस्या को हल करने के लिए आप जिस ग्रेड से कनेक्ट होते हैं उसके लक्ष्य संस्करण को बदल / अपग्रेड कर सकते हैं। वैकल्पिक रूप से, आप इस अपवाद को अनदेखा कर सकते हैं और मॉडल से अन्य जानकारी पढ़ सकते हैं।

आप किताब साइट से स्रोत डाउनलोड कर सकते हैं यहाँ एक ही कोड बेस है कि मैं से परीक्षण कर रहा हूँ के साथ परीक्षण करने के लिए।

जवाबों:


643

ठीक है, मुझे लगा कि इस मुद्दे को कैसे ठीक किया जाए।

  • Build.gradle खोलें और अनुशंसित संस्करण में ग्रेड संस्करण बदलें:
    classpath 'com.android.tools.build:gradle:1.3.0'to
    classpath 'com.android.tools.build:gradle:2.3.2'
  • मारो 'Try Again'
  • संदेश बॉक्स में यह कहा जाएगा कि 'Fix Gradle Wrapper and re-import project'क्लिक करें, क्योंकि न्यूनतम ग्रेडिंग संस्करण है3.3
  • एक नई त्रुटि पॉपअप और कहेगी The SDK Build Tools revision (23.0.1) is too low for project ':app'. Minimum required is 25.0.0- मारोUpdate Build Tools version and sync project
  • एक विंडो पॉपअप कर सकती है जो कहती है Android Gradle Plugin Update recommended, बस वहां से अपडेट करें।

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


137
मैं वास्तव में यह नहीं समझता कि Google चीजों को कठिन क्यों बनाता है।
ACAkgul

1
@ AhmetCanAkgül यह नहीं करता है !!
Masquerade0097

1
मेरे मामले में classpath 'com.android.tools.build:gradle:2.3.2' काम कर रहा है।
प्राग्स

यह निश्चित रूप से एक सा काम है।
स्कॉट फ्राले

13
@ACAkgul Yep, हम अपने ऐप्स को अब कम बार अपडेट कर रहे हैं, हर बार जब हम ऐसा करते हैं तो यह एक बहुत बड़ा काम है, एक साधारण बग फिक्स का मतलब है कि हमें अपने वातावरण को अपडेट करना है और नए APIs और वातावरण पर स्विच करने के लिए घंटों (यदि दिन नहीं) खर्च करना है। लोग माइक्रोसॉफ्ट का मजाक उड़ाते हैं, अब मुझे लगता है कि एमएस स्वर्गदूत हैं!
अल्बट्रान

91

एंड्रॉइड स्टूडियो 3 के लिए मुझे त्रुटि को ठीक करने के लिए दो फ़ाइलों को अपडेट करने की आवश्यकता है: -

1. app / build.gradle

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

2. app / gradle / आवरण / gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

इसने मेरे लिए काम किया। सही उत्तर के रूप में चिह्नित किया जाना चाहिए।
टीना जे

1
@srs, कृपया बताएं कि निर्भरता में ग्रेडिएल वर्जन 3.0.1 क्यों है, लेकिन ग्रेडल-रैपर फाइल 4.1 में? यह एक ही संस्करण नहीं होना चाहिए?
जॉनी फाइव

1
दिलचस्प है, लेकिन वास्तव में पुरानी परियोजना में ऐसा नहीं कर सकता। तब मैंने सिर्फ 3.0.1 पर नहीं बल्कि 2.2.1 में ग्रेडल वर्जन बदला और यह काम कर गया।
जॉनी फाइव

48

सबसे पहले, अपने एप्लिकेशन मॉड्यूल build.gradle फ़ाइल को खोलें ।

अपने प्रोजेक्ट की निर्भरता के अनुसार क्लासपैथ की जाँच करें । यदि इस वर्गपथ का संस्करण नहीं बदला है।

से:

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

सेवा:

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

या Android स्टूडियो के अपने ग्रेड के अनुसार उच्चतर संस्करण।

यदि इसकी समस्या अभी भी है, तो buildToolsVersion को बदलें :

से:

buildToolsVersion '21.0.0'

सेवा:

buildToolsVersion '25.0.0'

फिर 'पुनः प्रयास करें' हिट करें और ग्रेडेल स्वचालित रूप से सिंक हो जाएगा। इससे इसका समाधान हो जाएगा।


16

मेरे मामले में, एंड्रॉइड स्टूडियो 3.0.1, मैंने निम्नलिखित दो चरणों के साथ समस्या को ठीक किया।

चरण 1: प्रोजेक्ट-स्तर build.gradle में ग्रैडल प्लगइन संस्करण बदलें

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

चरण 2: ग्रेडेल संस्करण बदलें

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

11

मैंने भी इसी मुद्दे का सामना किया और एक समाधान भी मिला:

  1. क्लासपैथ को क्लासपाथ में बदलना 'com.android.tools.build:gradle:2.3.2'

    वर्गपथ जोड़ने के बाद छवि

  2. एक नया संदेश अपडेट बिल्ड टूल संस्करण को इंगित करता है, इसलिए अपडेट करने के लिए बस उस संदेश पर क्लिक करें। अपडेट करें


5
छवियों का उपयोग करने के विपरीत कृपया अपना कोड सीधे उत्तर में पेस्ट करें।
टॉम अरंडा

10

अपना ग्रेड संस्करण बदलें या इसे अपडेट करें

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
}

alt + दर्ज करें और "विशिष्ट संस्करण के साथ बदलें" चुनें।


5

आप इसे वर्गीकृत फ़ाइल बदलकर कर सकते हैं।

 build.gradle > change
    dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    }
    gradle-wrapper.properties > update
    distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip

0

यदि यह () असमर्थित विधि: BaseConfig.getApplicationIdSuffix एंड्रॉयड परियोजना पुराना है और आप एंड्रॉयड स्टूडियो को अद्यतन किया है, क्या मैंने किया था बस था बंद परियोजना और इसे फिर से भाग गया। इसने मेरे लिए इस मुद्दे को हल कर दिया। किसी भी निर्भरता या जो भी अन्य उत्तरों द्वारा वर्णित के रूप में नहीं जोड़ा गया।


0

मैंने एएस 3.5 पर यह रन बनाने के लिए निम्न कार्य किया

  1. app / build.gradle

    प्लगइन लागू करें: 'com.android.application'

    Android {compileSdkVersion 21 buildToolsVersion "25.0.0"

    defaultConfig {
        applicationId "com.example.android.mobileperf.render"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    }

निर्भरताएँ {क्रियान्वयन फ़ाइल

  1. build.gradle

    builddscript {रिपॉजिटरी {jcenter () mavenCentral () maven {url ' https://maven.google.com/ ' नाम 'Google'} Google ()} निर्भरताएं {classpath 'com.android.tool.build:gradle:3.0। 1 '}} allprojects {रिपॉजिटरी {jcenter () google ()}}

  2. gradle-wrapper.properties

    distributionUrl = https: //services.gradle.org/distributions/gradle-4.1-all.zip

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.