我无法在我的一个项目中通过 Gradle 使用 Android 支持库或 Play 服务
I cannot use Android support libraries or Play Services via Gradle in one of my projects
我正在尝试将支持库添加到我的应用程序,方法是将其放入 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'
}
我最终在卸载 Android Studio 和之前的测试版以及计算机上的 Android SDK 的所有副本后修复了此问题。然后,我使用 SDK 重新安装了 Android Studio 的全新副本。
由于我所做的 none 项目配置更改有所帮助,我认为 Android Studio 中可能存在某种内部配置,使其指向错误的 Maven 存储库,可能是 Maven不再维护的 Android SDK 中的存储库。
我很高兴我没有从头开始重建项目(逐步找出有问题的项目与其他有效项目之间的区别)。重新安装 Android Studio 更快。
请用这个编译
compile 'com.android.support:appcompat-v7:20.0.0'
而是
compile 'com.android.support:appcompat-v7:20.0.+'
尝试添加 mavenCentral 存储库:
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'
首先检查您是否在 Android SDK 管理器中更新了 'Android Support Repository' 和 'Android Support Library'。更新后,您应该可以使用最新的 appcompat-v7
进行构建,此时为 21.0.3.
旧的 appcompat-v7
版本会更棘手。我们之前遇到过同样的问题,当时我们使用的是appcompat-v7:19.0.+
。看来,一旦您从 Android SDK 管理器更新 Android 支持存储库和库,其中包含支持库的源代码,就没有回头路了。更新后,它将仅包含支持库的最新源代码,这意味着您的构建将始终失败,除非您将 build.gradle
更新为指向 appcompat-v7
最新版本。
令我惊讶的是,我们无法提供 appcompat
的多个版本,例如 SDK 管理器如何处理 Android SDK 构建工具的多个版本。
音效支持库未安装或不在 Android Studio 假设的正确路径中,因此请仔细检查:
- 检查您的 Android SDK 位置:
File->project Structure->SDK Location
- 然后去
SDK Location
路径检查\extras\android\support\v7\appcompat
是否可用
- 如果不可用,则在
SDK Location
下启动 SDK Manager
,在 Extras
下安装 Android Support Library
和 Android Support Repository
检查你的 Android sdk 文件夹。
你应该在下面找到这个文件夹:
androidSdk/extras/android/m2repository/com/android/support/appcompat-v7/20.0.0
如果此文件夹不存在:
- 更新 SDK 管理器并更新 Android 存储库(最后一个块)。
此外,我建议您使用最新版本:
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'
我正在尝试将支持库添加到我的应用程序,方法是将其放入 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'
}
我最终在卸载 Android Studio 和之前的测试版以及计算机上的 Android SDK 的所有副本后修复了此问题。然后,我使用 SDK 重新安装了 Android Studio 的全新副本。
由于我所做的 none 项目配置更改有所帮助,我认为 Android Studio 中可能存在某种内部配置,使其指向错误的 Maven 存储库,可能是 Maven不再维护的 Android SDK 中的存储库。
我很高兴我没有从头开始重建项目(逐步找出有问题的项目与其他有效项目之间的区别)。重新安装 Android Studio 更快。
请用这个编译
compile 'com.android.support:appcompat-v7:20.0.0'
而是
compile 'com.android.support:appcompat-v7:20.0.+'
尝试添加 mavenCentral 存储库:
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'
首先检查您是否在 Android SDK 管理器中更新了 'Android Support Repository' 和 'Android Support Library'。更新后,您应该可以使用最新的 appcompat-v7
进行构建,此时为 21.0.3.
旧的 appcompat-v7
版本会更棘手。我们之前遇到过同样的问题,当时我们使用的是appcompat-v7:19.0.+
。看来,一旦您从 Android SDK 管理器更新 Android 支持存储库和库,其中包含支持库的源代码,就没有回头路了。更新后,它将仅包含支持库的最新源代码,这意味着您的构建将始终失败,除非您将 build.gradle
更新为指向 appcompat-v7
最新版本。
令我惊讶的是,我们无法提供 appcompat
的多个版本,例如 SDK 管理器如何处理 Android SDK 构建工具的多个版本。
音效支持库未安装或不在 Android Studio 假设的正确路径中,因此请仔细检查:
- 检查您的 Android SDK 位置:
File->project Structure->SDK Location
- 然后去
SDK Location
路径检查\extras\android\support\v7\appcompat
是否可用 - 如果不可用,则在
SDK Location
下启动SDK Manager
,在Extras
下安装
Android Support Library
和 Android Support Repository
检查你的 Android sdk 文件夹。
你应该在下面找到这个文件夹:
androidSdk/extras/android/m2repository/com/android/support/appcompat-v7/20.0.0
如果此文件夹不存在:
- 更新 SDK 管理器并更新 Android 存储库(最后一个块)。
此外,我建议您使用最新版本:
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'