首页 > 解决方案 > 将旧的 Eclipse 项目导入 Android Studio 会导致 Gradle 3.3.1 错误

问题描述

在进行了几次搜索之后,我不确定要遵循哪种方法来解决这个问题。

使用导入时的所有默认设置将旧的(3、4 年)Eclipse 项目导入最新的 Android Studio。导入后,摘要说它用依赖项替换了两个 JAR:

android-support-v4.jar => com.android.support:support-v4:22.2.1
android-support-v7-appcompat.jar => com.android.support:appcompat-v7:22.2.1

和一个具有依赖关系的库:

google-play-services_lib => [com.google.android.gms:play-services:+]

现在,该项目将无法构建,因为它会立即给出此错误:

ERROR: Could not find com.android.tools.build:gradle:3.3.1.
Searched in the following locations:
- https://jcenter.bintray.com/com/android/tools/build/gradle/3.3.1/gradle-3.3.1.pom
- https://jcenter.bintray.com/com/android/tools/build/gradle/3.3.1/gradle-3.3.1.jar

Required by:
project :

Add Google Maven repository and sync project
Open File
Enable embedded Maven repository and sync project

在 Eclipse 项目的转换中,我会突然遇到这个问题,这似乎很奇怪。两个 URL (jcenter.buntray.com) 当被点击时返回一些 JSON,几乎说资源不存在。

我在导入时做错了什么?还是我没有在 SDK 中正确安装一些东西?与其他问题不同,AS 已经告诉将 gradle 引用到 jcenter 而不是 maven。

啊-我遗漏了以下内容-单击“添加 Google Maven”并接受“预览”后,gradle 进行了一些处理,并报告我的 gradle 版本太低(支持的最低版本是 4.10,我的版本是 4.8)和给我一个更新的选项。

进行更新后,它似乎开始构建,但随后将我返回到上面的第一个错误,关于找不到 3.3.1。(就像项目文件被重置回导入状态一样。

在这些步骤之间没有进行任何手动文件保存。

标签: androidandroid-studioandroid-gradle-plugin

解决方案


查看官方文档

找不到 com.android.tools.build:gradle:3.3.1。

发生这种情况是因为您必须在根文件夹中的文件(也称为顶级文件)中的块中添加google()maven存储库。android gradle plugin 3.0 或更高版本需要它。buildscriptbuild.gradle

buildscript {
    repositories {
        // Gradle 4.1 and higher include support for Google's Maven repo using
        // the google() method. And you need to include this repo to download
        // Android Gradle plugin 3.0.0 or higher.
        google()
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
    }
}

要更新 gradle 的版本,只需gradle/wrapper/gradle-wrapper.properties在根文件夹中编辑。

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

推荐阅读