Android Studio 一直拒绝解析 com.android.support:appcompat-v7:29.0.1

Android Studio keeps refusing to resolve com.android.support:appcompat-v7:29.0.1

提问人: 提问时间:7/14/2019 最后编辑:Gabriele Mariotti 更新时间:2/28/2021 访问量:18096

问:

我已经提到了这个线程,但它并没有解决我的问题。

每次尝试刷新 Gradle 时,我都会收到错误:在 Android Studio 中。ERROR: Failed to resolve: com.android.support:appcompat-v7:29.0.1

这是我的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.1"
    defaultConfig {
        applicationId "com.application.app"
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:29.0.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

我该如何修复它,并且是否有一个网站列出了所有android模块的所有版本?我自己也找不到。

谢谢。

Android android-gradle-plugin android-support-library android-appcompat androidx

评论

0赞 Vedprakash Wagh 7/14/2019
添加您的 app/build.gradle 供用户查看。如果你不向别人展示你一定犯了错误的地方,那么只有口头错误是一文不值的。

答:

2赞 Sony 7/14/2019 #1

没有 29 个支持库,您必须使用支持库包进行新开发androidx

文档

这是 Support Library 28.0.0 的稳定版本,适用于 用于生产。这将是 android.support 打包,并鼓励开发者迁移到 AndroidX的。

评论

1赞 7/14/2019
那么,在我的情况下,我必须做些什么来解决这个问题呢?
1赞 Sony 7/14/2019
尝试使用工件,这是链接androidx
10赞 Gabriele Mariotti 7/14/2019 #2

它之所以发生,是因为不存在com.android.support:appcompat-v7:29.x.x

您可以在官方文档中查看修订历史

您可以:

  • 使用支持库的最新 28.0.0 版本
  • 迁移到 AndroidX

另请查看此说明

注意:随着 Android 9.0(API 级别 28)的发布,支持库的新版本称为 AndroidX,它是 Jetpack 的一部分。AndroidX 库包含现有的支持库,还包括最新的 Jetpack 组件。

您可以继续使用支持库。历史工件(版本为 27 及更早版本,打包为 android.support.* 的工件)仍将在 Google Maven 上提供。但是,所有新的库开发都将在 AndroidX 库中进行。

我们建议在所有新项目中使用 AndroidX 库。您还应该考虑将现有项目迁移到 AndroidX。

4赞 DaveAAA 7/14/2019 #3

我建议你迁移到AndroidX

转到重构>迁移到 AndroidX >迁移

com.android.support:appcompat-v7:29.0.1不存在

评论

1赞 Sold Out 1/1/2021
好点子!我想知道为什么到目前为止只有 1 票赞成......谢谢!
5赞 Kawsar 7/19/2019 #4

替换为 implementation 'com.android.support:appcompat-v7:29.0.1' implementation 'androidx.appcompat:appcompat:1.0.2'

-1赞 Ashif 2/12/2020 #5

将现有项目迁移到 AndroidX

@link::https://developer.android.com/topic/libraries/support-library/packages

随着 Android 9.0(API 级别 28)的发布,有一个新版本的支持库,称为 AndroidX,它是 Jetpack 的一部分。AndroidX 库包含现有的支持库,还包括最新的 Jetpack 组件。

所有新项目中的 AndroidX 库。您还应该考虑将现有项目迁移到 AndroidX。

Android 工作室

转到 Refactor >> 将这个>> migarat 重构到 AndroidX

下表列出了从旧支持库软件包到新 androidx 软件包的当前映射。

@link https://developer.android.com/jetpack/androidx/migrate/class-mappings@link https://developer.android.com/jetpack/androidx/migrate/artifact-mappings

AndroidX 库的每个版本在开发过程中都会经过四个发布渠道。

@link https://developer.android.com/jetpack/androidx/versions/all-channel

0赞 Fthr 2/28/2021 #6

将它用于您的 build.gradle (:app)

放在 :

dependencies {

这个技巧解决了我的问题:

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '28.0.0'
            }
        }

    }
}