即使在升级gradle插件后,gradle项目同步仍然失败

时间:2017-12-05 16:38:10

标签: java android

Gradle项目同步失败,但没有从其他相关问题中获得答案。以下是我的具体情况。

初始同步尝试产生以下错误消息:

Unsupported method: BaseConfig.getApplicationIdSuffix().
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.

我有Android Studio 3.0。 build.gradle文件包含以下依赖项:

classpath 'com.android.tools.build:gradle-experimental:0.2.1'

  The gradle-wrapper.properties file includes the following distribution URL:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-all.zip

根据https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#update_gradle,我需要做出一些改变 首先,在gradle-wrapper.properties中更新Android Studio 3.0的Gradle版本:

distributionUrl = \ https://services.gradle.org/distributions/gradle-4.1-all.zip (我相信等号后面的反斜杠是一个错误,并没有做出改变。)

第二次,将以下buildscript存储库添加到build.gradle:

谷歌()

第三次,更改build.gradle依赖项:

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

第二次和第三次更改将应用​​最新版本的Android插件。

当我尝试在这些更改后进行同步时,它会再次失败并出现以下新错误:

找不到ID为'com.android.model.application'的插件。

错误是指build.gradle的第一行:

apply plugin:'com.android.model.application'

发生了什么以及为什么?我最近将NDK添加到Android Studio。我正在尝试同步的项目包括C代码。我不完全确定我正确添加了NDK。我想知道这是不是问题的一部分。

4 个答案:

答案 0 :(得分:2)

首先,gradle-wrapper.properties不正确。您必须在其中加入\。它应该是这样的:

#Sat Jun 17 17:47:18 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

然后,将实验性类路径添加到项目build.gradle。像这样:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle-experimental:0.7.0-alpha4"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

查看Experimental Plugin User Guide了解详情。

答案 1 :(得分:2)

转到build.gradle版本或更新

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

答案 2 :(得分:0)

答案 3 :(得分:0)

您应该更改您的dependencies classpath

所有步骤都在这里:

  • 打开build.gradle并将gradle版本更改为推荐版本:
    classpath 'com.android.tools.build:gradle:1.3.0'
    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虚拟设备上运行了。