将旧Eclipse项目导入Android Studio会导致Gradle 3.3.1错误

问题描述 投票:0回答: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。 (就像项目文件被重置为导入状态一样。

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

android android-studio android-gradle
1个回答
1
投票

检查official documentation

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

这是因为您必须在根文件夹(也称为顶级文件)的google()文件中的buildscript块中添加build.gradle maven repo。它是android gradle插件3.0或更高版本所必需的。

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
...
© www.soinside.com 2019 - 2024. All rights reserved.