在做了几次搜索之后,我不确定要解决这个问题的方法之一。
使用导入时的所有默认值将旧的(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。 (就像项目文件被重置为导入状态一样。
没有在这些步骤之间进行任何手动文件保存。
找不到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
...