找不到androidx.appcompat:appcompat:28.0.0

时间:2019-06-18 10:51:12

标签: android react-native-android expo

我将compileSDkversion从27更新为28。

已添加到gradle.properties文件中:

android.useAndroidX=true
android.enableJetifier=true
build gradle中添加了

implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core:1.0.2'

在build.gradle中将支持库重构为androidX库。

我遇到构建错误:

  

找不到androidx.appcompat:appcompat:28.0.0

出什么问题了?我还应该改变什么?

P.S:这是expoKit react-native项目

2 个答案:

答案 0 :(得分:1)

在我的情况下,问题与某些依赖项有关,这些依赖项使用supportLibVersion属性来解决android.support依赖项。

简短:

检查项目的build.gradle,看看您的supportLibVersion是否具有值28.0.0,并将其设置为所需的值,似乎是1.0.2

buildscript {
    ext {
        buildToolsVersion =
        minSdkVersion =
        compileSdkVersion =
        targetSdkVersion =
        supportLibVersion = "1.0.2" <---- here
    }

例如,我的一个依赖项说明了这种依赖关系:

"com.android.support:appcompat-v7:${safeExtGet('supportLibVersion', '28.0.0')}"

对于旧的支持版本,我的supportLibVersion属性仍然设置为28.0.0

我的猜测是,用于将依赖项转换为AndroidX的Jetifier很好地替换了'com.android.support:appcompat-v7'部分,但是如果Dependecy声明了带有supportLibVersion属性的库版本,则解析度将使用该值,因此最终将试图找到不存在的androidx.appcompat:appcompat:28.0.0

我发现AndroidX migration table对理解Jetifier的翻译很有帮助。

希望有帮助!

答案 1 :(得分:0)

我刚刚找到了解决方案。

我在Android Studio: Refactor -> Migrate to AndroidX中使用过。

它解决了我的问题!