帮助! 我是Android Studio和Android编程的新手。我做了一些很好的教程。现在,我尝试打开一个我必须编辑的现有Android项目。我什至不确定我需要打开哪个文件,我选择了一个名为“ app”的文件,但文件夹结构看起来有些不同。 现在我无法运行该应用程序,看来它无法构建它。这是我得到的错误代码:
Could not find com.android.tools:common:25.3.3.
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.pom
https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.jar
Required by:
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.build:manifest-merger:25.3.3
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.ddms:ddmlib:25.3.3
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.analytics-library:shared:25.3.3
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.analytics-library:tracker:25.3.3
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 > com.android.tools.layoutlib:layoutlib-api:25.3.3
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 > com.android.tools:dvlib:25.3.3
project : > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 > com.android.tools:repository:25.3.3
我注意到所请求的文件甚至不存在于链接中。我该如何解决? 谢谢您的回答!
答案 0 :(得分:13)
我只是遇到了完全相同的问题。对您而言,关键点在于您正在执行项目的初始导入,并且该特定项目使用的Gradle版本似乎有问题。尝试更改项目级别的build.gradle文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google() <-- added
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google() <-- added
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
重新同步项目Gradle文件,该文件将失败并可以升级Gradle插件:
Gradle DSL method not found: 'google()'
Possible causes:<ul><li>The project 'SampleApplication' may be using a version of the Android Gradle plug-in that does not contain the method (e.g. 'testCompile' was added in 1.1.0).
Upgrade plugin to version 3.2.0 and sync project</li><li>The project 'SampleApplication' may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file</li><li>The build file may be missing a Gradle plugin.
Apply Gradle plugin</li>
当我将Gradle插件升级到提供的版本并构建工具版本时,项目对我来说构建正常。
更新改进的解决方案::显然2.3.3
插件不再可用。仅更改依赖项对我有效。无需引用google()
存储库。
classpath 'com.android.tools.build:gradle:2.3.0'
更新:缺少的库版本已还原到jcenter()。问题中的问题不再需要此解决方法。
答案 1 :(得分:4)
整天都在为此苦苦挣扎。这发生在一个新的cordova android项目中。问题在于,已从所有存储库中删除了android构建工具的25.2.3版本(不确定原因),但仍可以从mavenCentral获取25.3.0版本。
对于Cordova用户
这是我的固定方法:
从项目文件夹导航至platforms/android/cordovaLib
,然后打开build.gradle文件并替换以下行:
classpath 'com.android.tools.build:gradle:2.2.3'
具有:
classpath 'com.android.tools.build:gradle:2.3.0'
然后打开platforms/android/
文件夹中的build.gradle文件,并在该文件中进行上述更改。
然后替换:
maven {
url "https://maven.google.com"
}
具有:
mavenCentral()
面向非Cordova用户
找到所有build.gradle文件,并将com.android.tools.build:gradle:2.2.3
替换为:'com.android.tools.build:gradle:2.3.0'
然后替换
maven {
url "https://maven.google.com"
}
与
mavenCentral()
答案 2 :(得分:3)
build-tools当前位于28.0.3
;普通甚至应该要求获取它们(任何版本)。在当前的Android Studio中,buildTools
是自动选择的;当前版本是3.2.1
的Android Studio&Gradle插件。为Java依赖项添加Google's Maven Repository。
更新:甚至没有版本25.3.3
,只有版本25.3.0
...仅从版本26.0.0
起,它们就可以从Google Maven中获得。资料库。自己看看:https://mvnrepository.com/artifact/com.android.tools/common
您必须将buildTools
更改为版本25.3.0
,并添加存储库mavenCentral()
。
答案 3 :(得分:3)
更新:Google已经确认他们犯了一个错误,并从jcenter()提取了一些他们认为(但不是)托管在google()上的软件包。他们正在将它们还原到jcenter(),您可以在此处关注进度: https://issuetracker.google.com/issues/120759347
几个软件包受到影响,因此我们的解决方法是多个部分。为了解决单个程序包的依赖性,我们将其添加到了android / build.gradle文件的末尾(注意四个受影响的程序包,并根据您的情况进行调整):
subprojects {project ->
if (
project.name.contains('pushwoosh-react-native-plugin') ||
project.name.contains('react-native-immersive') ||
project.name.contains('react-native-shimmer') ||
project.name.contains('react-native-vector-icons')
) {
buildscript {
repositories {
maven { url = "https://dl.bintray.com/android/android-tools/" }
}
}
}
}
对于构建工具的回购问题,我们必须将它们添加到android / build.grade的buildscript.repository部分:
maven { url 'https://dl.bintray.com/android/android-tools' }
maven { url 'https://google.bintray.com/exoplayer/' }
我们还必须将exoplayer存储库添加到android / build.grade allprojects.repositories部分。基本上,当您的构建失败时,用谷歌搜索丢失的软件包,找到它现在的托管位置,并将其添加到build.gradle中。我的印象是,损坏的存储库将在几天内修复。但是我们很多人都没有几天。
(结束更新)
我有完全相同的问题。虽然我并不熟悉gradle,但我已经在一个项目上维护了几个月。
昨天,构建成功。今天,事实并非如此。没有android配置更改。我们正在使用AppCenter,因此那里的构建没有本地缓存,并且每次都重新下载依赖项。这就是在我的本地上掩盖问题的方式。当我用--refresh-dependencies运行gradle时,出现了错误。
以上内容使我强烈怀疑该文件基本上从jcenter / bintray中消失了。
我对这方面的知识还不够了解,无法确定或如何检查。就目前而言,我一直在试图找出如何强制gradle将库(com.android.tools:common:25.3.3)从当前存在的地方拉出。
我不知道您的情况,但是我不能仅仅更新到gradle的新版本(因为2.3.3版本引起了依赖),因为它是一个较低的依赖项,在第一个版本中拉动了gradle 2.3.3地点。我的build.gradle使用的是com.android.tools.build:gradle:3.1.4。
我知道这不是答案,但希望它将导致其他人找到答案。
答案 4 :(得分:2)
您应该通过Android SDK安装Android SDK Build Tools 25.3.3。像this
答案 5 :(得分:2)
该程序包似乎也不由google()托管。如果您在google()前面声明了jcenter(),则该请求应回退到google(),除非它从jcenter那里获得了一些声明了该请求的mutadata。
从下面的输出中可以看到,即使请求回退到google(),它仍然找不到依赖项包。该解决方案可能会升级您的androdi构建工具版本。
```
无法解析配置':classpath'的所有文件。 找不到com.android.tools:common:25.3.3。 在以下位置搜索: https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.pom https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.jar https://dl.google.com/dl/android/maven2/com/android/tools/common/25.3.3/common-25.3.3.pom https://dl.google.com/dl/android/maven2/com/android/tools/common/25.3.3/common-25.3.3.jar 要求: 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3> com.android .tools.build:清单合并:25.3.3 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3> com.android .tools.ddms:ddmlib:25.3.3 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3> com.android .tools.analytics-library:shared:25.3.3 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3> com.android .tools.analytics-library:tracker:25.3.3 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3> com.android .tools:sdklib:25.3.3> com.android.tools.layoutlib:layoutlib-api:25.3.3 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3> com.android .tools:sdklib:25.3.3> com.android.tools:dvlib:25.3.3 项目:> com.android.tools.build:gradle:2.3.3> com.android.tools.build:gradle-core:2.3.3> com.android.tools.build:builder:2.3.3> com.android .tools:sdklib:25.3.3> com.android.tools:存储库:25.3.3 ```
答案 6 :(得分:1)
答案 7 :(得分:1)
该问题现在已解决,并且软件包应该像以前一样在jcenter()上可用。如果您仍然遇到任何问题,请告知我们。 https://issuetracker.google.com/issues/120759347#comment97
答案 8 :(得分:0)
我终于成功了,但我真的不知道最终有什么帮助,因为我之间做了很多步骤,但是如果有人提到这一点,这可能会有所帮助:
将Android插件版本更改为2.3.0,并添加到build.gradle:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
repositories {
jcenter()
google()
}
}
}
allprojects {
repositories {
jcenter()
}
}
我安装了最新版本的SDK Build Tools
突然,它停止了索要不存在的版本,并建议更新软件包。经过几个步骤的安装包,我知道有了gradle vers 4.6,插件Vers。 3.2.0可以正常工作!
答案 9 :(得分:0)
3天解决此错误,但尚未解决...
我做了很多更改,但是...没有...
如果有人有新想法,请分享它...