无法解析: com.android.support:appcompat-v7:26.0.0

84

我在Android Studio遇到了这个问题。

Error:(22, 13) Failed to resolve: com.android.support:appcompat-v7:26.0.0
<a href="install.m2.repo">Install Repository and sync project</a><br><a href="openFile:C:/Users/username/AndroidStudioProjects/ElectroSave/app/build.gradle">Show in File</a><br><a href="open.dependency.in.project.structure">Show in Project Structure dialog</a>

这是我的Gradle代码:

apply plugin: 'com.android.application'

android {
       compileSdkVersion 26
      buildToolsVersion "25.0.2"
    defaultConfig {
    applicationId "com.example.noelly.myapplication"
    minSdkVersion 19
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
}
   buildTypes {
      release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'




 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.android.support:appcompat-v7:26.0.0'
}

1
我认为在Android Studio更新(稳定版)中存在一些问题,但在Android Studio 3 Canary版本中可以正常工作。要解决问题,只需降级您的支持库存储库 compile 'com.android.support:cardview-v7:25.3.1' - S J
你是否已经安装存储库并同步项目了? - OneCricketeer
7
最新版本的支持库位于Google Maven仓库,需要进行设置。具体操作请参考 https://developer.android.com/topic/libraries/support-library/setup.html。 - OneCricketeer
14个回答

212

要使用版本从26.0.0开始的支持库,您需要按照此处描述的方式将Google的Maven存储库添加到项目的build.gradle文件中:

https://developer.android.com/topic/libraries/support-library/setup.html
allprojects {
        repositories {
            jcenter()
            maven {
                url "https://maven.google.com"
            }
        }
    }

对于 Android Studio 3.0.0 及以上版本:

allprojects {
        repositories {
            jcenter()
            google()
        }
    }

请确保在buildscript的allprojects下添加google(),它可能已经被添加了。这就是我的情况,我通过这个答案成功解决了问题。 - joekevinrayan96

61
请注意,我们需要添加Google Maven以使用支持库,从revision 25.4.0开始。如发布说明所述
重要提示:支持库现在可通过Google的Maven存储库获得。您无需从SDK管理器下载支持库存储库。有关更多信息,请参见支持库设置。
请阅读支持库设置获取更多信息。
自版本11.2.0起,Play服务Firebase依赖项也需要Google Maven。请阅读一些更新到使用Google Play服务的应用程序Google APIs Android 2017年8月-版本11.2.0发布说明
因此,您需要像这样将Google Maven添加到您的rootbuild.gradle中:
allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

对于Gradle构建工具插件版本3.0.0,您可以使用google()存储库(更多信息请参见迁移到Gradle 3.0.0的Android插件):

allprojects {
    repositories {
        jcenter()
        google()
    }
}

更新:

Google的Maven仓库获取:

以下Android库的最新版本可从Google的Maven仓库中获取:

要将它们添加到您的构建中,您需要首先在您的顶级/根目录 build.gradle文件中包含Google的Maven仓库:

allprojects {
    repositories {
        google()

        // If you're using a version of Gradle lower than 4.1, you must instead use:
        // maven {
        //     url 'https://maven.google.com'
        // }
        // An alternative URL is 'https://dl.google.com/dl/android/maven2/'
    }
}

然后将所需的库添加到您的模块依赖项块中。例如,appcompat 库如下所示:

dependencies {
    compile 'com.android.support:appcompat-v7:26.1.0'
}

然而,如果你正在尝试使用上述库的旧版本并且依赖项失败,则该库不可在Maven存储库中使用,你必须从离线存储库中获取该库。

5
在 Android Plugin for Gradle 的版本 2.3.3 中不存在 google()。它并不是来自于 Android Plugin for Gradle,而是来自于 Gradle 自身。它存在于 Gradle 4.1 中,但在 Gradle 3.3 中不存在 -- 我不确定它是在哪个版本中添加的。 - CommonsWare
1
这是完整的答案,以及为什么旧版Gradle中缺少google()的解释。 - Stoycho Andreev

7
  1. Add this in build.gradle(Project:projectname)

    allprojects {
      repositories {
        jcenter()
        maven { url "https://maven.google.com" }
      }
    }
    
  2. Add this in build.gradle(Module:app)

    dependencies {
      compile 'com.android.support:appcompat-v7:26.1.0'
    }
    

5

如果您已经使用jitpack.io或任何仓库,您可以像这样添加Google仓库:

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
        maven { url "https://maven.google.com" }
    }
}

3

修改

compile 'com.android.support:appcompat-v7:26.0'

为了

`compile 'com.android.support:appcompat-v7:26.+'`

这对我来说很好用。


3

您忘记在模块区域中添加alpha1了。

compile 'com.android.support:appcompat-v7:26.0.0-alpha1'

在项目区域中使用Maven仓库,就是这样。

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

1
如果您正在使用Android Studio 3.0,按照以下方式添加Google的maven仓库:
allprojects {
  repositories {
    jcenter()
    google()
 }
}

1
我的问题通过以下步骤得到解决:
对于gradle 3.0.0及以上版本:
  1. 在jcenter()下添加google()
  2. 将compileSdkVersion更改为26,buildToolsVersion更改为26.0.2
  3. 在gradle_wrapper.properties文件中更改为gradle-4.2.1-all.zip

1

这里输入图片描述我遇到了相同的问题,但我将26.0.0-beta1依赖项切换为26.1.0,现在它可以正常工作。


我建议包含实际需要修复的文本,而不是屏幕截图。这样我们可以确保搜索引擎捕捉到它,而且更加清晰。 - Taegost

1

将以下内容添加到主Gradle中已经解决了我的问题:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
        flatDir {
            dirs 'libs'
        }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接