好的,我过去大约一天一直在解决这个问题。恶梦。
但是我至少现在对我一直在从事的项目都有效,它相当大,并且具有许多其他的android依赖项。
请参阅此问题,其中Mike
Hardy可以提供很大的帮助。https://github.com/mikehardy/jetifier/issues/27
我建议在0.60.0降落之前避免使用AndroidX。
问题 的根源对于我们大多数人来说 ,问题 的根源是
+gradle依赖项中的范围选择器。
如以下以react-native-google-analytics-bridge中的示例所示:
compile "com.google.android.gms:play-services-analytics:${safeExtGet('googlePlayServicesVersion', '+')}" compile "com.google.android.gms:play-services-tagmanager-v4-impl:${safeExtGet('googlePlayServicesVersion', '+')}"对于我们大多数人来说,我们不在顶级android / build.gradle中设置googlePlayServicesVersion值
所以我们要指定
googlePlayServicesVersion ="16.+"+,因为还有其他各种Google服务包可用,而且它们的版本号也不尽相同。这将捕获16.XX,但不会超出该范围。17.XX还有其他问题。
而且我们还想将supportLibVersion设置为28.0.0,这是android支持库使用的:com.android.support:appcompat-v7最常见。
解
android / build.gradle
buildscript { ext { buildToolsVersion = "28.0.3" minSdkVersion = 21 compileSdkVersion = 28 targetSdkVersion = 28 supportLibVersion = "28.0.0" googlePlayServicesVersion = "16.+" }...AndroidManifest.xml的第一行:
<manifestxmlns:tools="http://schemas.android.com/tools"
应用标签:
tools:replace="android:appComponentFactory"android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
确保使用4.10.1的gradle-wrapper.properties
distributionUrl=https://services.gradle.org/distributions/gradle-4.10.1-all.zip
最后确保您没有使用androidX。
gradle.properties:
android.enableJetifier=falseandroid.useAndroidX=false
附加步骤(您可能需要此步骤)
失败的话,也尝试添加喷射器。我们将使用它来运行您的node_modules并确保所有内容都使用非androidx库。
npm i jetifier --save-dev要么
yarn add jetifier --dev
然后添加到安装后脚本
"scripts": { "postinstall": "jetify -r"}


