提问人: 提问时间:7/14/2019 最后编辑:Gabriele Mariotti 更新时间:2/28/2021 访问量:18096
Android Studio 一直拒绝解析 com.android.support:appcompat-v7:29.0.1
Android Studio keeps refusing to resolve com.android.support:appcompat-v7:29.0.1
问:
我已经提到了这个线程,但它并没有解决我的问题。
每次尝试刷新 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模块的所有版本?我自己也找不到。
谢谢。
答:
没有 29 个支持库,您必须使用支持库包进行新开发androidx
从文档
这是 Support Library 28.0.0 的稳定版本,适用于 用于生产。这将是 android.support 打包,并鼓励开发者迁移到 AndroidX的。
它之所以发生,是因为不存在。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。
我建议你迁移到AndroidX
转到重构>迁移到 AndroidX >迁移
com.android.support:appcompat-v7:29.0.1
不存在
评论
替换为 implementation 'com.android.support:appcompat-v7:29.0.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
将现有项目迁移到 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
将它用于您的 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'
}
}
}
}
评论