Nieobsługiwana metoda: BaseConfig.getApplicationIdSuffix()

Więc czytam Android 6 for Programmers An App-Driven Approach i pierwsze dwa przykłady aplikacji nie miałem problemów z przykładami, tym razem przykład FlagQuiz po załadowaniu w Android Studio 3.0 Canary - 3 dostaję ten błąd, który nie pozwala mi zbudować projektu:

Błąd: nieobsługiwana metoda: BaseConfig.getApplicationIdSuffix (). Wersja Gradle, z którą się łączysz, nie obsługuje tej metody. Aby rozwiązać problem, możesz zmienić / uaktualnić docelową wersję Gradle, z którą się łączysz. Alternatywnie, możesz zignorować ten wyjątek i odczytać inne informacje z modelu.

Możesz pobrać źródło ze strony książki tutaj , aby przetestować z tej samej bazy kodu, z której testuję.

Każda pomoc jest mile widziana.
Author: exts, 2017-06-14

7 answers

W porządku, wymyśliłem, jak rozwiązać ten problem.

  • Open build.gradle i zmień wersję gradle na wersję zalecaną:
    classpath 'com.android.tools.build:gradle:1.3.0' do
    classpath 'com.android.tools.build:gradle:2.3.2'
  • Hit 'Try Again'
  • w polu wiadomości będzie napisane 'Fix Gradle Wrapper and re-import project' Kliknij to, ponieważ minimalna wersja gradle to 3.3
  • pojawi się nowy błąd i powie The SDK Build Tools revision (23.0.1) is too low for project ':app'. Minimum required is 25.0.0 - Hit Update Build Tools version and sync project
  • może pojawić się okienko z napisem Android Gradle Plugin Update recommended, po prostu zaktualizuj stamtąd.

Teraz projekt powinien być uruchomiony na dowolnym Twoich wirtualnych urządzeń z Androidem.

 523
Author: exts,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-31 07:20:47

Dla Androida Studio 3 muszę zaktualizować dwa pliki, aby naprawić błąd:--

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.właściwości

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
 80
Author: srs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-22 11:00:04

Najpierw otwórz swój moduł aplikacji build.gradle plik.

Sprawdź classpath zgodnie z zależnością od projektu. Jeśli nie, Zmień wersję tej ścieżki klasowej.

From:

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

Do:

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

Lub wyższa wersja według twojego gradle z android studio.

Jeśli problem jest nadal, to zmień buildToolsVersion :

From:

buildToolsVersion '21.0.0'

Do:

buildToolsVersion '25.0.0'

Then hit "Spróbuj ponownie", a gradle automatycznie zsynchronizuje się. To go rozwiąże.

 37
Author: amit pandya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-19 13:40:13

W moim przypadku, Android Studio 3.0.1, naprawiłem problem w następujących dwóch krokach.

Krok 1: Zmień wersję wtyczki Gradle w kompilacji na poziomie projektu.gradle

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

Krok 2: Zmień wersję gradle

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
 14
Author: Harry Zhang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-05 01:49:59

Ja również stanąłem przed tym samym problemem i dostałem rozwiązanie bardzo podobne:

  1. Zmiana classpath na classpath ' com.android.narzędzia.build: gradle: 2.3.2 "

    Obrazek po dodaniu classpath

  2. Nowy komunikat wskazujący na aktualizację wersji narzędzia Build, więc po prostu kliknij ten Komunikat, aby zaktualizować. Update

 10
Author: Girish B.R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-31 01:57:03

Zmień swoją wersję gradle lub zaktualizuj ją

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

Alt + enter i wybierz "zastąp konkretną wersją".

 8
Author: Exel Staderlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-05 01:50:44

Możesz to zrobić, zmieniając plik 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
Author: justchill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-26 09:09:14