我将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项目
答案 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
中使用过。
它解决了我的问题!