如何将Android支持库添加到Android Studio?

如何将Android支持库添加到Android Studio?,android,gradle,android-studio,android-support-library,android-gradle-plugin,Android,Gradle,Android Studio,Android Support Library,Android Gradle Plugin,我正在使用带有外部Android SDK的Android Studio。我已经安装了支持库和支持存储库。支持存储库位于: ~/Development/Tools/android/sdk/extras/android/m2repository 当我向build.gradle文件中的支持库添加依赖项时,如: ... repositories { mavenCentral() } ... dependencies { compile "com.android.support:su

我正在使用带有外部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支持存储库的位置?

gradle可以使用18.0.+符号,但现在取决于现在与SDK捆绑在一起的新支持存储库

打开SDK管理器,紧接着在Extras下的第一个选项是“Android支持存储库”,然后安装它,找到解决方案

1) 转到android studio/eclipse正在使用的SDK所在的位置。 如果您使用的是Android studio,请转到
extras\Android\m2repository\com\Android\support\
。 如果您使用的是eclipse,请转到
\extras\android\support\

2) 看看你有什么文件夹,我有gridlayout-v7、support-v4和support-v13

3) 单击support-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 studio,这就是为什么最初难以更新的原因!路径应为C:\Users\Username\AppData\Local\Android\Android sdk\extras\

另外请注意,如果您的SDK是最新的,则代码将为:

"com.android.support:support-v4:19.0.+"
你可能会被阻止Android Gradle插件自动将“Android支持存储库”添加到Gradle存储库列表中的错误所击中。如bug报告中所述,解决方法是在顶级
build.gradle
文件中将
m2repository
目录显式添加为本地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文件中正确指定jar文件的版本号的方式造成的

例如,在我的例子中,我将其设置为“compile'com.android.support:support-v4:21.0.3+”

删除“+”时,生成成功

安卓工作室3 确保您拥有最新版本的。默认情况下,创建新项目时会包含支持库。如果要将支持库添加到没有支持库的项目中,则只需在应用程序模块的build.gradle文件中添加一行,然后同步gradle

格雷德尔先生

这应该很容易,尽管可能有一些事情需要注意:

  • 如果支持库需要更新,Android Studio现在应该给你一个警告。只要把我这里的
    27.1.1
    数字更新到它告诉你的任何地方。如果需要,还可以手动检查是什么
  • implementation
    关键字替换了Android Studio 2.x中使用的
    compile
    。()
  • 根据应用程序的使用情况,您可能需要包括其他支持库包(如
    constraint layout
    recyclerview
  • 确保您拥有SDK管理器中所有内容的最新更新。转到工具>SDK管理器
文档
    • 不要这样做:

      compile "com.android.support:support-v4:18.0.+"
      
      这样做:

      compile 'com.android.support:support-v4:18.0.+' 
      

      为我工作的
      local.properties

      文件中的SDK路径是否正确?我的
      local.properties
      文件中唯一的一行是:
      SDK.dir=/Users/jaap/Development/Tools/android/SDK
      ,这是指向外部SDK的路径。您确定有支持库版本18吗?现在它是19。任何人到达这里是因为他们没有添加“编译”语句来构建.Goelle注意到有两个Buff.DeLLE文件,并且编译必须被添加到没有依赖性部分的文件的依赖项部分(TajdSDKVIELTS=X等),同时确保更新“Android SDK工具”并考虑使用。"19.0.+“因为这是最新版本。developer.android警告不要在版本号和许多其他地方使用+。谢谢。我也有点卡住了,因为在在线maven存储库中,支持库位于com.google.android下,但在这里它位于com.android.support下。我花了几个小时才弄清楚!原来这只是一个简单的改变哈哈,很好你得到了整理!我的SDK文件夹位于驱动器E(C是SSD)中,
      [SDK]\extras\android\m2repository\com\android\support\support-v4
      包含从
      13.0.0
      26.0.0-alpha1
      的文件夹编号(38个文件夹),repo仍然无法访问。developer.android已经警告不要在版本号中使用+,我正在将libs添加到本地maven artifactory中,因此它适用于所有人。这应该不再是必要的,因为至少我不能再使用最新的安卓插件和构建工具复制错误(另请参阅我对原始错误的评论)。这解决了另一个问题:将android注释支持(例如@NonNull)添加到android应用程序的裸java库。升级到android Studio 2.3后仍有此功能。。。有什么信息吗?是什么原因造成的?Android studio中的钩子机制是如何工作的?!我唯一可以确认的是:我可以通过SDK管理器简单地“卸载然后重新安装”支持存储库来“修复”它。。。没有胶水为什么这有助于即使是现有的和重新安装的文件都是相同的开发者。android已经警告不要在版本号中使用+了
      compile 'com.android.support:support-v4:18.0.+'