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

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

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


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

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版本或更新它

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

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


对于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为例,我通过以下两个步骤修复了这个问题。

第一步:在项目级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

首先,打开应用程序模块构建。gradle文件。

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

来自:

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

To:

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

或更高版本根据您的android studio gradle。

如果仍然有问题,那么修改buildToolsVersion:

来自:

buildToolsVersion '21.0.0'

To:

buildToolsVersion '25.0.0'

然后点击“重试”,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,我所做的只是关闭项目并再次运行它。这为我解决了问题。没有添加任何依赖或其他答案所描述的任何依赖。


为了在AS 3.5上运行,我执行了以下操作

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 { 释放{ minifyEnabled假 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }

依赖关系{ 实现文件树(目录:'libs',包括:['*.jar']) 实现“com.android.support: appcompat-v7:21.0.0” 实现“com.squareup.picasso:毕加索:2.71828” }

build.gradle buildscript { 存储库{ jcenter () mavenCentral () maven { url ' https://maven.google.com/ ' “谷歌” } 谷歌() } 依赖关系{ 类路径的com.android.tools.build: gradle: 3.0.1 } } allprojects { 存储库{ jcenter () 谷歌() } } gradle-wrapper.properties - 4.1 - all.zip distributionUrl = https://services.gradle.org/distributions/gradle