首页 文章

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

提问于
浏览
79

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

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

Project - build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}

Project - settings.gradle

include ':AssignmentTempos21'

Main module - 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.+"
}

Console output with -i flag:

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

先感谢您!!

12 回答

  • 2
    • 安装android sdk manager

    • 检查是否安装了构建工具 . 安装api 23 .
      来自Android SDK Manager的

    • 下载'Android Support Repository'

    • 删除cordova-plugin-android-support-v4

    • build

  • 1

    将此添加到您的gradle:

    allprojects {
        buildscript {
            repositories {
                maven {
                    url "https://dl.bintray.com/android/android-tools"
                }
            }
        }
    ...
    }
    
  • 5

    Try to turn off your firewallit works for me . 似乎android studio想要下载一些依赖项,我们的防火墙阻止它下载它, just be aware that turning your firewall off may lower the security of your computer . 如果你有更多的时间可以手动允许你的android工作室绕过你的防火墙,这样你就可以打开你的防火墙,同时允许android工作室下载它想要的任何东西 .

  • 2

    我在Gradle Build选项卡中的Android Studio 2.1.1中有此消息 . 我从SDK Manager安装了很多文件,但没有帮助 .

    我需要点击下一个标签“Gradle Sync” . 有一个链接“安装存储库和同步项目”,它安装了“Android支持存储库” .

  • 1

    彼得说,他们不会在Maven Central

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

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

    2017 edit:

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

    repositories {
    google()
    jcenter()
    }
    
  • 27

    转到安装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.+ 为我成功编译了所有内容

  • 50

    如果您在无头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
    

    Update

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

    android list sdk --all
    

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

    使用其数值安装包:

    android update sdk --no-ui --all --filter <num>
    

    Update #2 (Sept 2017)

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

    列出已安装的组件

    sdkmanager --list
    

    更新安装的组件:

    sdkmanager --update
    

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

    sdkmanager 'build-tools;26.0.0'
    
  • 1

    Maven Central中不存在这些依赖项(see this) .

  • 94
    compileSdkVersion 17
    targetSdkVersion 17
    

    将编译版本从18更改为17

    compile "com.android.support:support-v4:17.0.+"
    compile "com.android.support:appcompat-v7:17.0.+"
    
  • 1

    除了Kassim的回答:

    正如Peter所说,他们不会在Maven Central中使用maven-android-sdk-deployer将库部署到本地存储库或者从Android SDK Manager下载Android支持存储库(在Extras中)和M2 repo支持库将下载到您的Android SDK目录

    我还必须在Android SDK Manager中更新“支持库的本地Maven存储库” .

  • 0

    要回显@friederbluemle,如果您安装了Android SDK工具,也可以从命令行启动SDK管理器:

    $ android

    然后在弹出的UI中,选择需要安装的工具/存储库 - 在您的情况下,支持库存储库

  • 1

    在应用程序的build.gradle文件中编写以下语句 .

    com.android.support:appcompat-v7:18.0 .

    而已

相关问题