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

ext*_*xts 245 android android-studio-3.0

所以我正在为程序员阅读Android 6:应用程序驱动的方法和前两个应用程序示例我对这些示例没有任何问题,这次在Android Studio 3.0 Canary-3中加载FlagQuiz示例我收到此错误是不是让我建立项目:

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

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

ext*_*xts 638

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

  • 打开build.gradle并将gradle版本更改为推荐版本:
    classpath 'com.android.tools.build:gradle:1.3.0'to
    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
  • 可以弹出一个窗口,说明Android Gradle Plugin Update recommended只是从那里更新.

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

  • 我真的不明白为什么谷歌会让事情变得更难. (134认同)
  • @ACAkgul是的,我们现在不经常更新我们的应用程序,每次我们这样做是一项繁重的工作,一个简单的错误修复意味着我们必须更新我们的环境并花费数小时(如果不是几天)切换到新的API和环境.人们取笑微软,现在我认为MS是天使! (13认同)
  • 就我而言,类路径“com.android.tools.build:gradle:2.3.2”工作。 (2认同)

srs*_*srs 91

对于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'
    }
}
Run Code Online (Sandbox Code Playgroud)

2. app/gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Run Code Online (Sandbox Code Playgroud)


ami*_*dya 48

首先,打开应用程序模块 build.gradle文件.

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

从:

classpath 'com.android.tools.build:gradle:1.0.0'
Run Code Online (Sandbox Code Playgroud)

至:

classpath 'com.android.tools.build:gradle:2.3.2'
Run Code Online (Sandbox Code Playgroud)

或更高版本根据你的Android工作室的gradle.

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

从:

buildToolsVersion '21.0.0'
Run Code Online (Sandbox Code Playgroud)

至:

buildToolsVersion '25.0.0'
Run Code Online (Sandbox Code Playgroud)

然后点击'再试一次',gradle会自动同步.这将解决它.


小智 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'
    }
}
Run Code Online (Sandbox Code Playgroud)

第2步:更改gradle版本

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Run Code Online (Sandbox Code Playgroud)


小智 11

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

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

    添加类路径后的图像

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

  • 请将代码直接粘贴到答案中,而不是使用图像. (5认同)

Exe*_*lin 10

更改您的gradle版本或更新它

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
}
Run Code Online (Sandbox Code Playgroud)

alt +输入并选择"替换为特定版本".


Mud*_*han 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
Run Code Online (Sandbox Code Playgroud)