UnsupportedMethodException Android Studio 2.2

时间:2016-09-24 11:33:03

标签: android android-studio

我将我的android工作室更新为2.2。现在当我打开并运行上一个项目时,我收到错误UnsupportedMethodException。

Unsupported method: AndroidProject.getPluginGeneration().
             The version of Gradle you connect to does not support that method.
             To resolve the problem you can change/upgrade the target version of Gradle you connect to.
             Alternatively, you can ignore this exception and read other information from the model

5 个答案:

答案 0 :(得分:51)

以下是您的问题的一些解决方案。禁用Instant run应该足够了

Gradle版本:

转到您的build.gradle文件,将gradle-plugin版本更改为:

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

即时运行

这是由Android Studio检查即时运行功能的可用性引起的。

通过禁用即时运行来修复它。转到:

File -> Settings -> Build, Execution, Deployment -> Instant Run.

取消选中所有职位

使用android-apt插件

使用此插件也可能导致此问题。

我想这个例子你正在使用Butterknife库.....

  

注意:如果您使用版本为Jack的新2.2.0编译器或   更新,你不需要'android-apt'插件,而是可以   在声明编译器时将apt替换为annotationProcessor   依赖性。

转到build.gradle文件并删除:

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

然后转到您的app/build.gradle文件并删除:

apply plugin: 'android-apt'

然后在同一个文件中,替换现有的:

apt 'com.jakewharton:butterknife-compiler:8.4.0'

annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'

它应该现在可以使用

答案 1 :(得分:2)

将Gradle版本更新为更高版本,当我将其更新为 2.10

时,它开始工作

答案 2 :(得分:2)

您正在尝试导入使用您的ide(Android Studio)中未支持的版本构建的gradle项目,尝试首先使用兼容版本从命令行重建您的项目:

gradle wrapper --gradle-version 3.0

(3.0只是一个例子,试着找出你的IDE需要什么版本。)

在此步骤之后,导入过程应该没问题

答案 3 :(得分:1)

按照上述操作,转到“文件”->“项目结构”,在前两个字段中,我输入了最新的Gradle版本和Android插件版本,然后单击“确定”,然后等待。整个过程可能需要半小时,但请继续单击蓝色超链接,它们将为您完成!

答案 4 :(得分:0)

通过此故障排除的每次修改(请参见下文)

您可以通过使用Gradle文件执行File-> Sync Project来同步 或

文件->无效缓存/重新启动 enter image description here

我的Android Studio版本 My Android Studio version

这是TOP-LEVEL build.gradle(不是您的项目的个人名称“” ... \ YOUR-PROJECT \ build.gradle“” This is the TOP-LEVEL build.gradle (NOT THE INDIVIDUAL FOR YOUR PROJECT)

这是我的个人项目build.gradle“ ... \ YOUR-PROJECT \ app \ build.gradle” This is my INDIVIDUAL project build.gradle

这是我的“ ... \ YOUR-PROJECT \ gradle \ wrapper \ gradle-wrapper.properties”文件 gradle-wrapper file

这是错误 This is the error

按照上面“ Brian Fleming”的答案 As per the answer above "Brian Fleming"

浏览您应该会看到与TOP LEVEL gradle文件和gradle-wrapper文件之间的关系 Browse through you should see a relation with the gradle files

注意

  • ... \ YOUR-PROJECT \ gradle \ wrapper \ graddle-wrapper.properties文件和
  • ...... \\ YOUR-PROJECT \ build.gradle文件
  • 通过使用File-> Project Structure,使用Android Studio GUI编辑

它似乎在“ gradle”个人文件“ app \ build.gradle”中 This is the Warning I found

上面写着“ 依赖项:com.android.support:appcompat-v7:25.2.0:发现过时的依赖项配置:compile [更新编译为实现]”

请仔细阅读每个警告,然后单击**“ [更新编译...为蓝色]”,这会将每个“编译”更新为“实现”

您也可以在记事本上编辑文件本身,我选择在GUI中进行操作 Go through each warning **

使用Gradle文件同步项目 Sync Project with Gradle Files

接下来的一件事,您知道会收到此错误。 “ Gradle-错误找不到参数的方法实现()...”

  • 这是因为在我的情况下,我正在处理的项目很旧,并且在TOP LEVEL中具有gradle 2.0.0 YOUR-PROJECT / build.gradle

  • “ 2.10”用于“ ... \ YOUR-PROJECT \ gradle \ wrapper \ gradle-wrapper.properties”

  • 个人“ ... \ YOUR-PROJECT \ app \ build.gradle”也已弃用“ compile”,而不是当前使用的“ implementation”

  • 因此,当我替换当前的“实现”时,gradle的TOP-LEVEL和gradle-wrapper.properties文件的gradle版本也需要更新。

  • 我将它们更新为TOP-LEVEL到3.1.4,并将gradle-wrapper.properties更新为4.4

在此处查看 UPDATING THE GRADLE FILES

您可能还会收到此错误 “在jcenter中找不到文件”行中的内容

  • 您的构建或gradle可以从jcenter(),google()和mavenCentral()获得3个不同的存储库,以获取更多信息:https://docs.gradle.org/current/userguide/declaring_repositories.html

  • 就我而言,如果您检查我的TOP LEVEL等级文件,则该项目只有jcenter(),因此我只是在存储库中添加了google()

此处 Adding google repository

我只在“ buildscript”中添加了它,没有在“ allprojects”中添加了我,我真的不知道您的情况是否不同。但这对我有用(我只是迈出了小步,如果不能再做更多的改变)

这可能不适用于您,但请在下面检查是否出现此错误

Error for SDK tool version too old 产生此错误的原因是,我的新gradle文件 YOUR-PROJECT / app / build.gradle 中有新的成绩文件我的buildToolVersion低于这些新成绩的最低支持。文件。错误本身告诉您将其更改为“ 27.03”(执行操作)

您可以通过使用Gradle文件执行File-> Sync Project来同步 要么 File-> INVALIDATE CACHES / RESTART(这是我在整个故障排除过程中一直使用的)