为什么Android Studio强制使用Android支持库中的Androidx?

Moh*_*sin 13 android android-support-library react-native androidx

在React Native项目上工作,但是突然间它停止工作并开始出现错误:

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add ‘tools:replace=“android:appComponentFactory”’ to <application> element at AndroidManifest.xml:7:5-117 to override.
Run Code Online (Sandbox Code Playgroud)

我知道Google在28岁以后就完成了支持库类,并且我知道如何将整个项目从支持库类迁移到AndroidX类。

我的问题是:

  • 有什么办法可以继续使用支持库类,而不是转移到AndroidX类?

  • 如何解决这个问题?

A-J*_*J-A 5

您可以锁定googleservices和firebase版本以避免androidX。

在android / build.gradle中添加:

buildscript {
  ...
  ext {
    // Lock down googlePlayServicesVersion
    googlePlayServicesVersion = "16.1.0"
    firebaseVersion = "17.6.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

或在gradle.properties中添加:

googlePlayServicesVersion=16.1.0
firebaseVersion=17.6.0
Run Code Online (Sandbox Code Playgroud)