Gradle Build Android项目"无法解决所有依赖项"错误

ces*_*rds 79 android android-appcompat gradle android-support-library build.gradle

我正在尝试使用Gradle构建我的第一个项目,我认为我的gradle文件和设置是正确的.

我只使用一个模块和支持V4 + AppCompatBar库.

项目 - build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

项目 - settings.gradle

include ':AssignmentTempos21'
Run Code Online (Sandbox Code Playgroud)

主模块 - build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }
}

dependencies {
    compile "com.android.support:support-v4:18.0.+"
    compile "com.android.support:appcompat-v7:18.0.+"
}
Run Code Online (Sandbox Code Playgroud)

带-i标志的控制台输出:

MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
      > Could not find any version that matches com.android.support:support-v4:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified
      > Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
        Required by:
            AssignmentTempos21:AssignmentTempos21:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

BUILD FAILED

Total time: 40.787 secs
Run Code Online (Sandbox Code Playgroud)

先感谢您!!

kas*_*sim 94

彼得说,他们不会在Maven Central

从Android SDK Manager下载"Android Support Repository"和支持库的Maven repo将下载到您的Android SDK目录(参见'extras'文件夹)

要将库部署到本地.m2存储库,您可以使用maven-android-sdk-deployer

2017编辑:

您现在可以参考Google在线M2回购

repositories {
google()
jcenter()
}
Run Code Online (Sandbox Code Playgroud)

  • 从"Android SDK Manager"下载"Android Support Repository"最终解决了我在Android Studio 0.4.3项目中遇到的这个问题.关于Gradle的弃用消息仍然有点遗憾,但这是另一个故事,所以我打开[这个问题](http://stackoverflow.com/questions/21496956/gradle-deprecation-relying-on-packaging-to-define -the-伸长的最主技术) (12认同)

小智 50

转到你安装Android Studio的地方(对我而言C:\Users\username\AppData\Local\Android\android-studio\)并打开sdk\tools,然后运行android.bat.从这里,更新并下载任何缺少的构建工具,并确保更新Extras下的Android支持存储库和Android支持库.SDK Manager完成后重新启动Android Studio.

Android Studio似乎完全忽略了任何已安装的Android SDK文件并保留了自己的副本.运行更新后,使用compile为我成功编译了所有内容com.android.support:appcompat-v7:18.0.+

  • 我没有IDEA,Android Studio在AppData下有自己的SDK版本.这太令人困惑了! (13认同)
  • 这对我有用,我希望Android Studio能够使用我手动安装在我机器上的Android SDK.让IDE使用自己的Android SDK而不是使用开发人员定义的Android SDK真的很烦人.SDK应与IDE分开. (8认同)

fri*_*mle 27

如果您在无头CI上运行并通过命令行安装Android SDK,请确保在--filter参数中包含m2repository包:

android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository
Run Code Online (Sandbox Code Playgroud)

更新

截至Android SDK Manager rev.22.6.4这不再起作用了.试试这个:

android list sdk --all
Run Code Online (Sandbox Code Playgroud)

您将获得所有可用SDK包的列表.从上面的第一个命令("Google Repository"和您可能缺少的其他命令)中查找组件的数值.

使用其数值安装包:

android update sdk --no-ui --all --filter <num>
Run Code Online (Sandbox Code Playgroud)

更新#2(2017年9月)

使用今年早些时候发布的"新"Android SDK工具,该android命令现已弃用,类似功能已移至名为的新工具sdkmanager:

列出已安装的组件

sdkmanager --list
Run Code Online (Sandbox Code Playgroud)

更新安装的组件:

sdkmanager --update
Run Code Online (Sandbox Code Playgroud)

安装新组件(例如构建工具版本26.0.0):

sdkmanager 'build-tools;26.0.0'
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的提示.我跑了:`android list sdk --all | grep -i repos`,它给了我"98-Android Support Repository,Revision 6"和`"106-Google Repository,revision 11"`.然后我安装了两个运行`android update sdk -u -a -t 98,106`的软件包,最终解决了问题(我正在使用adt-bundle-linux-x86-20140702.zip,不知道哪个SDK Manager版本它是). (3认同)

Pet*_*ser 5

Maven Central中不存在这些依赖项(请参阅此内容).