サポートされていないメソッド:BaseConfig.getApplicationIdSuffix()


248

だから私はプログラマーのためのAndroid 6:アプリ駆動のアプローチと最初の2つのアプリの例を読んでいますが、今回の例で問題はありませんでした。プロジェクトをビルドさせません:

エラー:サポートされていないメソッド:BaseConfig.getApplicationIdSuffix()。接続しているGradleのバージョンはそのメソッドをサポートしていません。この問題を解決するには、接続しているGradleのターゲットバージョンを変更またはアップグレードします。または、この例外を無視して、モデルから他の情報を読み取ることもできます。

あなたは、本サイトからソースをダウンロードすることができ、ここで私はからテストしてるのと同じコードベースをテストします。

回答:


643

この問題を解決する方法を見つけました。

  • build.gradleを開き、gradleのバージョンを推奨バージョンに変更
    classpath 'com.android.tools.build:gradle:1.3.0'します。
    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、そこから更新するだけです。

これで、プロジェクトはAndroid仮想デバイスのいずれかで実行できるようになります。


136
グーグルが物事を難しくしている理由が本当にわかりません。
ACAkgul 2017

1
@AhmetCanAkgülありません!!
Masquerade0097 2017

1
私の場合、クラスパス 'com.android.tools.build:gradle:2.3.2'が機能しています。
ブラーイエス

それは確かに少し面倒です。
Scott Fraley、2018年

13
@ACAkgulはい、アプリを更新する頻度が減りました。これを行うたびに大規模な作業が発生します。単純なバグ修正により、環境を更新し、新しいAPIと環境に切り替えるために(数日ではないにしても)時間を費やす必要があります。人々はマイクロソフトをからかいます、今私はMSが天使だと思います!
albattran

91

Android Studio 3の場合、エラーを修正するために2つのファイルを更新する必要があります。--

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

これでうまくいきました。正解としてマークする必要があります。
Tina J

1
@srs、依存関係でgradleバージョン3.0.1がブロックされているのに、gradle-wrapperファイル4.1で理由が説明されていますか?同じバージョンではないですか?
ジョニーファイブ

1
興味深いですが、本当に古いプロジェクトではこれを行うことができませんでした。次に、gradleのバージョンを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 StudioのGradleに応じたバージョン以上。

それでも問題が解決しない場合は、buildToolsVersionを変更します

から:

buildToolsVersion '21.0.0'

に:

buildToolsVersion '25.0.0'

[再試行]をクリックすると、gradleが自動的に同期します。これで解決します。


16

私の場合、Android Studio 3.0.1では、次の2つの手順で問題を修正しました。

ステップ1:プロジェクトレベルのbuild.gradleでGradleプラグインのバージョンを変更する

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

ステップ2:Gradleのバージョンを変更する

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

11

私も同じ問題に直面し、非常に似た解決策を得ました:

  1. クラスパスをクラスパス 'com.android.tools.build:gradle:2.3.2'に変更する

    クラスパスを追加した後の画像

  2. ビルドツールのバージョンを更新することを示す新しいメッセージなので、そのメッセージをクリックして更新します。 更新


5
画像を使用するのではなく、コードを回答に直接貼り付けてください。
トムアランダ2017年

10

Gradleのバージョンを変更または更新する

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

Alt + Enterキーを押して、「特定のバージョンで置き換える」を選択します。


5

これを行うには、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

この()メソッドサポートされていない場合:BaseConfig.getApplicationIdSuffix Androidのプロジェクトが古いですし、Androidのメーカーを更新しました、私がやったことは、単純にしたプロジェクトを閉じると、再びそれを実行しました。それは私のために問題を解決しました。他の回答で説明されているように、依存関係や何も追加しませんでした。


0

AS 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'
        }
    }

    }

依存関係{実装fileTree(dir: 'libs'、インクルード:['* .jar'])実装 'com.android.support:appcompat-v7:21.0.0'実装 'com.squareup.picasso:picasso:2.71828'}

  1. build.gradle

    buildscript {リポジトリ{jcenter()mavenCentral()maven {url ' https://maven.google.com/ ' name 'Google'} google()}依存関係{classpath 'com.android.tools.build:gradle:3.0。 1 '}} allprojects {リポジトリ{jcenter()google()}}

  2. gradle-wrapper.properties

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.