无法运行现有的Android项目com.android.tools:common:25.3.3

时间:2018-12-07 22:58:05

标签: android android-studio

帮助! 我是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

我注意到所请求的文件甚至不存在于链接中。我该如何解决? 谢谢您的回答!

10 个答案:

答案 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)

  

我选择了一个名为“ app”的应用

但是您需要通过选择层次结构中更高的目录来打开enter image description here

答案 7 :(得分:1)

该问题现在已解决,并且软件包应该像以前一样在jcenter()上可用。如果您仍然遇到任何问题,请告知我们。 https://issuetracker.google.com/issues/120759347#comment97

答案 8 :(得分:0)

我终于成功了,但我真的不知道最终有什么帮助,因为我之间做了很多步骤,但是如果有人提到这一点,这可能会有所帮助:

  • 我打开了更高级别的文件(不仅仅是“ app”)
  • 将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

  • 我几次选择并重新打开Android Studio

突然,它停止了索要不存在的版本,并建议更新软件包。经过几个步骤的安装包,我知道有了gradle vers 4.6,插件Vers。 3.2.0可以正常工作!

答案 9 :(得分:0)

3天解决此错误,但尚未解决...

我做了很多更改,但是...没有...

如果有人有新想法,请分享它...