不支持的方法:BaseConfig.getApplicationIdSuffix()

Unsupported method: BaseConfig.getApplicationIdSuffix()

所以我正在阅读 Android 6 for Programmers: An App-Driven Approach 和前两个应用程序示例我对这些示例没有任何问题,这次在 Android Studio 3.0 Canary-3 中加载时的 FlagQuiz 示例我收到此错误,它不允许我构建项目:

Error:Unsupported method: BaseConfig.getApplicationIdSuffix(). The version of Gradle you connect to does not support that method. To resolve the problem you can change/upgrade the target version of Gradle you connect to. Alternatively, you can ignore this exception and read other information from the model.

您可以从图书网站 here 下载源代码以使用我正在测试的相同代码库进行测试。

好的,我知道如何解决这个问题了。

  • 打开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' 点击它,因为最低 gradle 版本是 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
  • 一个 window 可能会弹出 Android Gradle Plugin Update recommended,只需从那里更新。

现在该项目应该可以在您的任何 android 虚拟设备上运行了。

我也遇到了同样的问题,得到了非常相似的解决方案:

  1. 正在将类路径更改为类路径'com.android.tools.build:gradle:2.3.2'

    Image after adding the classpath

  2. 指示更新构建工具版本的新消息,因此只需单击该消息即可更新。 Update

更改您的 gradle 版本或更新它

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

alt+enter 并选择 "replace with specific version"。

对于 Android Studio 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/wrapper/gradle-wrapper.properties

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

就我而言,Android Studio 3.0.1,我通过以下两个步骤解决了这个问题。

第 1 步:在项目级别更改 Gradle 插件版本 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 步:更改 gradle 版本

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

首先,打开你的应用模块build.gradle文件。

根据你的项目依赖检查类路径。如果不更改此类路径的版本。

来自:

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

收件人:

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

或根据您 android 工作室的 gradle 的更高版本。

如果仍然有问题,则更改 buildToolsVersion:

发件人:

buildToolsVersion '21.0.0'

收件人:

buildToolsVersion '25.0.0'

然后点击'Try again'然后gradle会自动同步。 这将解决它。

您可以通过更改 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

如果这个 () 不受支持的方法:BaseConfig.getApplicationIdSuffix Android 项目是旧的并且你已经更新了 Android Studio,我所做的只是 CLOSE PROJECT 和 运行 再一次。它为我解决了这个问题。没有添加任何依赖项或其他答案所描述的任何内容。

我在 AS 3.5

上做了以下 运行
  1. 应用/build.gradle

    应用插件:'com.android.application'

    android { 编译SDK版本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'
        }
    }
    

    }

依赖项{ 实现文件树(目录:'libs',包括:['*.jar']) 实施 'com.android.support:appcompat-v7:21.0.0' 实施 'com.squareup.picasso:picasso:2.71828' }

  1. build.gradle

    构建脚本{ 存储库{ 中心() mavenCentral() 行家{ url 'https://maven.google.com/' 姓名 'Google' } google() } 依赖关系{ 类路径 'com.android.tools.build:gradle:3.0.1' } } 所有项目{ 存储库{ 中心() google() } }

  2. gradle-wrapper.properties

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