进行几次搜索后,我不确定要遵循哪种方法来解决此问题。
使用导入时的所有默认值,将旧的(至今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项目的新鲜转换中突然遇到了这个问题。点击Do时,这两个URL(jcenter.buntray.com)会返回一些JSON,该JSON几乎表明资源不存在。
我在导入上做错了什么?还是我没有在SDK中正确安装某些软件?与其他问题不同,AS已经在告诉将gradle引用到jcenter而不是maven。
啊-我遗漏了以下内容- 单击“添加Google Maven”并接受“预览”后,gradle进行了一些处理,并报告我的gradle版本太低(最低支持为4.10,我的版本为4.8),并为我提供了一个更新选项。
进行更新后,它似乎开始构建,但随后使我返回到上面的第一个错误,即未找到3.3.1。 (就像将项目文件重置回导入状态一样。
在这些步骤之间未完成任何手动文件保存。
答案 0 :(得分:1)
找不到com.android.tools.build:gradle:3.3.1。
发生这种情况是因为您必须在根文件夹(也称为顶级文件)的google()
文件中的buildscript
块的build.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'
}
}
Maven存储库。 android gradle插件3.0或更高版本需要它。
gradle/wrapper/gradle-wrapper.properties
要更新gradle的版本,只需在根文件夹中编辑...
distributionUrl = https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
...
。
<table cellpadding="0" align="left" cellspacing="0" style="border-radius:2px; background-color:#5794FF; color:#FFFFFF">
<tbody>
<tr>
<td align="center" height="32" style="padding:0px 19px; height:32px; font-size:14px; line-height:12px">
<a href="https://www.google.co.in/" target="_blank" style="text-decoration:none; color:#FFFFFF">Search Google</a>
</td>
</tr>
</tbody>
</table>