在我的一个项目中,我无法通过Gradle使用Android支持库或Play服务

时间:2015-02-07 03:19:48

标签: android maven android-studio gradle libgdx

我正在尝试将支持库添加到我的应用程序中,方法是将它放在build.gradle的依赖项部分中:

    compile 'com.android.support:appcompat-v7:20.0.+'

这在我的所有libgdx应用程序中都可以正常工作,除了其中一个。它根本找不到图书馆。它说:

Error:Could not find any version that matches com.android.support:appcompat-v7:20.0.+.
Searched in the following locations:
    file:/C:/Users/MyName/.m2/repository/com/android/support/appcompat-v7/maven-metadata.xml
    file:/C:/Users/MyName/.m2/repository/com/android/support/appcompat-v7/
    https://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml
    https://repo1.maven.org/maven2/com/android/support/appcompat-v7/
    https://oss.sonatype.org/content/repositories/snapshots/com/android/support/appcompat-v7/maven-metadata.xml
    https://oss.sonatype.org/content/repositories/snapshots/com/android/support/appcompat-v7/
    https://oss.sonatype.org/content/repositories/releases/com/android/support/appcompat-v7/maven-metadata.xml
    https://oss.sonatype.org/content/repositories/releases/com/android/support/appcompat-v7/

我也尝试使用Android支持库,他们也有同样的问题。

local.properties指向android sdk就像在我的其他项目中一样。

我看到它正在搜索Android SDK的本地Maven存储库。但是错误中上面列出的目录不存在。 .m2 / repository目录与我的其他一些本地东西一起存在,但不存在android。由于这在我的其他项目中运作良好,我不确定会发生什么。 也许他们正在检查不同的本地Maven存储库?

我最近安装了Maven,因此我可以创建自己的本地存储库,以便在处理库项目时使用。也许我以某种方式覆盖了原来的android目录?不解释为什么其他旧的libgdx项目没有找不到库。我如何查看他们在哪里搜索?

这是构建脚本(由libgdx项目生成器生成):

buildscript {
    repositories {
        jcenter()
        maven { url 'https://github.com/steffenschaefer/gwt-gradle-plugin/raw/maven-repo/' }
    }
    dependencies {
        classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.4'
        classpath 'com.android.tools.build:gradle:1.0.0'
        classpath 'org.robovm:robovm-gradle-plugin:1.0.0-beta-01'
    }
}

以下是项目顶级和android模块中build.gradle的相关部分:

allprojects {
    apply plugin: "eclipse"
    apply plugin: "idea"

    repositories {
        mavenLocal()
        jcenter()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "https://oss.sonatype.org/content/repositories/releases/" }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:20.0.+'
    compile 'com.android.support:support-v4:20.0.+'
    compile 'com.google.android.gms:play-services:6.5.87'
}

6 个答案:

答案 0 :(得分:1)

请使用此

进行编译
compile 'com.android.support:appcompat-v7:20.0.0'

相反

 compile 'com.android.support:appcompat-v7:20.0.+'

答案 1 :(得分:0)

我在卸载Android Studio和之前的测试版以及计算机上的所有Android SDK副本后,最终解决了这个问题。然后我重新安装了带有SDK的Android Studio的新副本。

由于我所做的项目配置更改都没有帮助,我认为Android Studio中可能存在某种内部配置,使其指向错误的Maven存储库,可能是某个Android SDK中的Maven存储库已不再存在保持。

我很高兴我没有从头开始重建项目(逐步找到有问题的项目和其他有效项目之间的差异)。重新安装Android Studio要快得多。

答案 2 :(得分:0)

尝试添加mavenCentral repo:

mavenCentral()

allprojects

allprojects {
    apply plugin: "eclipse"
    apply plugin: "idea"

    repositories {
        mavenCentral()
        mavenLocal()
        jcenter()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "https://oss.sonatype.org/content/repositories/releases/" }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:20.0.+'
    compile 'com.android.support:support-v4:20.0.+'
    compile 'com.google.android.gms:play-services:6.5.87'
}

旁注:支持库已更新(不确定是否需要最新版本):

compile 'com.android.support:support-v4:21.0.3' compile 'com.android.support:appcompat-v7:21.0.3'

答案 3 :(得分:0)

首先检查您是否更新了Android支持存储库'和' Android支持库'在您的Android SDK Manager中。更新后,您应该能够使用最新的appcompat-v7进行构建,目前为21.0.3。

对于较旧的appcompat-v7版本,这会更棘手。我们以前遇到过同样的问题,当时我们正在使用appcompat-v7:19.0.+。一旦您更新了Android Support Repository&来自Android SDK Manager的库,其中包含支持库的源代码,没有回头路。更新后,它将仅包含支持库的最新来源,这意味着除非您将build.gradle更新为appcompat-v7到最新版本,否则您的构建将始终失败。

我发现令人惊讶的是,我们无法提供多个appcompat版本,例如SDK管理器如何处理多个版本的Android SDK构建工具。

答案 4 :(得分:0)

声音支持库未安装或未安装在Android Studio所假设的正确路径中,因此请仔细检查:

  1. 检查您的Android SDK位置:File->project Structure->SDK Location
  2. 然后转到SDK Location路径以检查\extras\android\support\v7\appcompat是否可用
  3. 如果不可用,请在SDK Manager下启动SDK Location,在Android Support Library
  4. 下安装Android Support RepositoryExtras

答案 5 :(得分:0)

检查Android sdk文件夹。

您应该在此下找到此文件夹:

androidSdk/extras/android/m2repository/com/android/support/appcompat-v7/20.0.0

如果此文件夹不存在:

  • 更新SDK Manager并更新Android Repository(最后一个块)。

我还建议您使用最新版本:

compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'