不支持的方法:

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

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

你可以从书籍网站在这里下载源代码,用我正在测试的相同代码库进行测试。

280719 次浏览

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

    <李>构建开放。将Gradle版本改为推荐版本:
    classpath 'com.android.tools.build:gradle:1.3.0'到< br > 李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虚拟设备上运行。

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

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

    添加类路径后的图像 < / p >

  2. 一条新消息,指示更新构建工具版本,因此只需单击该消息进行更新。 李更新 < / p > < / >

更改您的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 /包装/ 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

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

您可以通过更改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上运行,我执行了以下操作

  1. < p >应用程序/ build.gradle

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

    < p > android { compileSdkVersion 21 buildToolsVersion“25.0.0”< / p >
    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'
    }
    }
    

    } < / p >

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

    < p > buildscript { 存储库{ jcenter () mavenCentral () maven { url“https://maven.google.com/” “谷歌” } 谷歌() } 依赖关系{ 类路径的com.android.tools.build: gradle: 3.0.1 } } allprojects { 存储库{ jcenter () 谷歌() } 李}< / p > < / >
  2. < p > gradle-wrapper.properties

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