257

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

错误:不受支持的方法:BaseConfig.getApplicationIdSuffix()。您连接的 Gradle 版本不支持该方法。要解决此问题,您可以更改/升级您连接到的 Gradle 目标版本。或者,您可以忽略此异常并从模型中读取其他信息。

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

4

9 回答 9

661

好吧,我想出了如何解决这个问题。

  • 打开 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'Click that,因为最低 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
  • 可能会弹出一个窗口,上面写着Android Gradle Plugin Update recommended,只需从那里更新。

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

于 2017-06-14T14:10:37.130 回答
91

对于 Android Studio 3,我需要更新两个文件来修复错误:-

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

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
于 2017-12-22T11:00:04.590 回答
49

首先,打开您的应用程序模块 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 将自动同步。这将解决它。

于 2018-02-19T13:40:13.187 回答
16

在我的例子中,Android Studio 3.0.1,我通过以下两个步骤解决了这个问题。

第 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
于 2018-01-05T01:26:11.237 回答
11

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

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

    添加类路径后的图像

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

于 2017-10-31T01:57:03.960 回答
10

更改您的 gradle 版本或更新它

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

alt+enter 并选择“替换为特定版本”。

于 2017-12-05T08:32:11.010 回答
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
于 2018-09-26T09:09:14.157 回答
0

如果这个 ()Unsupported method: BaseConfig.getApplicationIdSuffix Android Project 是旧的并且您已经更新了 Android Studio,我所做的只是简单地关闭项目并再次运行它。它为我解决了这个问题。没有添加任何依赖项或其他答案所描述的任何内容。

于 2019-03-17T11:22:55.867 回答
-1

我做了以下操作以使其在 AS 3.5 上运行

  1. 应用程序/ 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'
        }
    }
    

    }

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

  1. 构建.gradle

    buildscript { repositories { 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

于 2019-09-23T18:35:34.140 回答