Metodo non supportato: BaseConfig.getApplicationIdSuffix ()


248

Quindi sto leggendo Android 6 per programmatori: un approccio guidato dalle app e i primi due esempi di app non ho avuto problemi con gli esempi, questa volta l'esempio FlagQuiz quando caricato in Android Studio 3.0 Canary-3 ricevo questo errore che non mi sta lasciando costruire il progetto:

Errore: metodo non supportato: BaseConfig.getApplicationIdSuffix (). La versione di Gradle a cui ti connetti non supporta questo metodo. Per risolvere il problema è possibile modificare / aggiornare la versione di destinazione di Gradle a cui ci si connette. In alternativa, è possibile ignorare questa eccezione e leggere altre informazioni dal modello.

Puoi scaricare la fonte dal sito del libro qui per testare con la stessa base di codice da cui sto testando.

Risposte:


643

Bene, ho capito come risolvere questo problema.

  • Apri build.gradle e modifica la versione gradle nella versione consigliata:
    classpath 'com.android.tools.build:gradle:1.3.0'in
    classpath 'com.android.tools.build:gradle:2.3.2'
  • Colpire 'Try Again'
  • Nella finestra dei messaggi verrà indicato 'Fix Gradle Wrapper and re-import project'Fai clic su, poiché è la versione minima del livello3.3
  • Un nuovo errore si aprirà e dirà The SDK Build Tools revision (23.0.1) is too low for project ':app'. Minimum required is 25.0.0: HitUpdate Build Tools version and sync project
  • Una finestra pop-up che dice Android Gradle Plugin Update recommended, basta aggiornare da lì.

Ora il progetto dovrebbe essere eseguibile ora su qualsiasi dispositivo virtuale Android.


136
Davvero non capisco perché Google renda le cose più difficili.
ACAkgul,

1
@ AhmetCanAkgül No !!
Masquerade

1
nel mio caso classpath 'com.android.tools.build:gradle:2.3.2' funzionante.
Prags

Certamente è un po 'un lavoro ingrato.
Scott Fraley,

13
@ACAkgul Sì, stiamo aggiornando le nostre app meno spesso ora, ogni volta che lo facciamo è un lavoro enorme, una semplice correzione di bug significa che dobbiamo aggiornare il nostro ambiente e trascorrere ore (se non giorni) per passare a nuove API e ambiente. La gente si prende gioco di Microsoft, ora penso che gli MS siano angeli!
albattran,

91

Per Android Studio 3 ho bisogno di aggiornare due file per correggere l'errore: -

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 / wrapper / gradle-wrapper.properties

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

Questo ha funzionato per me. Dovrebbe essere contrassegnato come risposta corretta.
Tina J,

1
@srs, per favore spiega perché nelle dipendenze blocca la versione 3.0.1 di Gradle, ma nel file 4.1 di Gradle-Wrapper? Non dovrebbe essere la stessa versione?
Johnny Five,

1
Interessante, ma non potevo farlo in un progetto molto vecchio. Quindi ho appena cambiato la versione gradle non in 3.0.1 ma in 2.2.1 e ha funzionato.
Johnny Five,

48

Innanzitutto, apri il file build.gradle del modulo dell'applicazione .

Controllare il percorso di classe in base alla dipendenza del progetto. In caso contrario, modificare la versione di questo percorso di classe.

a partire dal:

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

Per:

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

o versione successiva in base al tuo grado di Android Studio.

Se il problema persiste, modifica buildToolsVersion :

A partire dal:

buildToolsVersion '21.0.0'

Per:

buildToolsVersion '25.0.0'

quindi premi "Riprova" e la pendenza si sincronizzerà automaticamente. Questo lo risolverà.


16

Nel mio caso, Android Studio 3.0.1, ho risolto il problema con i seguenti due passaggi.

Passaggio 1: modifica la versione del plug-in Gradle in build.gradle a livello di progetto

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

Passaggio 2: modifica la versione graduale

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

11

Ho anche affrontato lo stesso problema e ho ottenuto una soluzione molto simile:

  1. Modifica del classpath in classpath 'com.android.tools.build:gradle:2.3.2'

    Immagine dopo aver aggiunto il percorso di classe

  2. Un nuovo messaggio che indica la versione di Update Build Tool, quindi fai clic sul messaggio per aggiornarlo. Aggiornare


5
Si prega di incollare il codice direttamente nella risposta anziché utilizzare le immagini.
Tom Aranda,

10

Cambia la tua versione gradle o aggiornala

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

alt + invio e scegliere "sostituisci con versione specifica".


5

Puoi farlo modificando il file gradle.

 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

Se questo () metodo non supportato: BaseConfig.getApplicationIdSuffix Android Project è vecchio e hai aggiornato Android Studio, quello che ho fatto è stato semplicemente CLOSE PROJECT ed eseguirlo di nuovo. Mi ha risolto il problema. Non ha aggiunto dipendenze o altro come descritto da altre risposte.


0

Ho fatto quanto segue per eseguire questa corsa su AS 3.5

  1. app / build.gradle

    applica plugin: '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'
        }
    }
    

    }

dipendenze {implementazione fileTree (dir: 'libs', include: ['* .jar']) implementazione 'com.android.support:appcompat-v7:21.0.0' implementazione 'com.squareup.picasso: picasso: 2.71828'}

  1. build.gradle

    buildscript {repository {jcenter () mavenCentral () maven {url ' https://maven.google.com/ ' name 'Google'} google ()} dipendenze {classpath 'com.android.tools.build:gradle:3.0. 1 '}} allprojects {repository {jcenter () google ()}}

  2. gradle-wrapper.properties

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.