我正在使用带有外部Android SDK的Android Studio。我已经安装了支持库和支持存储库。支持存储库位于:
~/Development/Tools/android/sdk/extras/android/m2repository
当我将依赖项添加到build.gradle
文件中的支持库时,例如:
...
repositories {
mavenCentral()
}
...
dependencies {
compile "com.android.support:support-v4:18.0.+"
}
Android Studio 找不到支持库(无法解析符号等),Gradle 也找不到库:
Gradle: A problem occurred configuring project ':TestAndroidStudio'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':TestAndroidStudio:_DebugCompile'.
> Could not find any version that matches com.android.support:support-v4:18.0.+.
Required by:
TestAndroidStudio:TestAndroidStudio:unspecified
如何在 Android Studio 和/或 build.gradle
文件中指定 Android 支持存储库的位置?
您可能会遇到此错误,该错误会阻止Android Gradle插件自动将"Android支持存储库"添加到Gradle存储库列表中。如错误报告中所述,解决方法是将m2repository
目录显式添加为顶级build.gradle
文件中的本地 Maven 目录,如下所示:
allprojects {
repositories {
// Work around https://code.google.com/p/android/issues/detail?id=69270.
def androidHome = System.getenv("ANDROID_HOME")
maven {
url "$androidHome/extras/android/m2repository/"
}
}
}
Gradle 可以使用 18.0.+ 表示法,但它现在依赖于现在与 SDK 捆绑在一起的新支持存储库。
打开SDK管理器,紧接着在"附加内容"下的第一个选项是"Android支持存储库"并安装它
找到了一个解决方案。
1) 转到 Android studio/eclipse 正在使用的 SDK 所在的位置。如果您使用的是 Android 工作室,请转到 extrasandroidm2repositorycomandroidsupport
。如果您使用的是日食,请转到extrasandroidsupport
2)看看你有什么文件夹,对我来说我有gridlayout-v7,支持-v4和支持-v13。
3)单击支持-v4,查看以下文件夹的编号,我的文件夹名为13.0
由于您使用的是"com.android.support:support-v4:18.0.+",因此请更改此设置以反映您拥有的版本,例如我有support-v4,因此第一部分v4保持不变。由于下一个路径是 13.0,请将 18.0 更改为:
"com.android.support:support-v4:13.0.+"
这对我有用,希望对您有所帮助!
更新:
我注意到我使用错误的SDK设置了android工作室,这就是为什么最初难以更新的原因!路径应为 C:\Users\Username\AppData\Local\Android\android-sdk\extras\
另请注意,如果您的 SDK 是最新的,则代码将是:
"com.android.support:support-v4:19.0.+"
Android Studio 3
确保您使用的是最新版本的 Android Studio。默认情况下,创建新项目时会包含支持库。如果要将支持库添加到没有它的项目中,则只需将一行添加到应用模块的 build.gradle 文件中,然后同步 gradle。
build.gradle
dependencies {
...
implementation 'com.android.support:appcompat-v7:27.1.1'
}
它应该就是这么简单,尽管可能有一些事情需要注意:
- Android Studio现在应该给你一个警告,如果支持库需要更新。只需将我在这里拥有的
27.1.1
数字更新为它告诉您的任何内容即可。如果需要,您还可以手动检查最新版本。 implementation
关键字替换了Android Studio 2.x中使用的compile
(有什么区别?)
根据- 应用使用的内容(如
constraint-layout
或recyclerview
),您可能需要包含其他支持库包。 - 确保您拥有 SDK 管理器中所有内容的最新更新。转到工具> SDK 管理器。
文档
- 支持库
- 支持库设置
- 支持库功能
我曾经遇到过类似的问题。即使在安装支持存储库后,构建也曾经失败。
基本上,问题是由于在gradle文件中正确指定jar文件的版本号的方式造成的。
例如,在我的情况下,我将其设置为"编译'com.android.support:support-v4:21.0.3+'"
在删除"+"时,构建成功了!!
而不是这样做:
compile "com.android.support:support-v4:18.0.+"
这样做:
compile 'com.android.support:support-v4:18.0.+'
为我工作