所以我正在阅读Android 6程序员:一个应用程序驱动的方法和前两个应用程序的例子,我没有问题的例子,这一次在Android Studio 3.0金丝雀3加载的FlagQuiz例子,我得到这个错误,不让我构建项目:

错误:不支持的方法:BaseConfig.getApplicationIdSuffix()。 您所连接的Gradle版本不支持该方法。 为了解决这个问题,你可以改变/升级你所连接的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

其他回答

如果this()不支持的方法:Android项目是旧的,你已经更新了Android Studio,我所做的只是关闭项目并再次运行它。这为我解决了问题。没有添加任何依赖或其他答案所描述的任何依赖。

好吧,我知道怎么解决这个问题了。

Open build.gradle and change the gradle version to the recommended version: classpath 'com.android.tools.build:gradle:1.3.0' to classpath 'com.android.tools.build:gradle:2.3.2' Hit 'Try Again' In the messages box it'll say 'Fix Gradle Wrapper and re-import project' Click that, since the minimum gradle version is 3.3 A new error will popup and say 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 A window may popup that says Android Gradle Plugin Update recommended, just update from there.

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

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

将类路径更改为'com.android.tools.build:gradle:2.3.2' 添加类路径后的图像 新消息指示更新生成工具版本,因此只需单击该消息进行更新。 更新

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

更改您的gradle版本或更新它

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

Alt +回车,选择“替换特定版本”。