Хорошо, я сам решал эту проблему последний день или около того.кошмар.
, но у меня он работает сейчас, по крайней мере, для проекта, над которым я работаю, который довольно большой и с множеством дополнительных зависимостей для Android.
См. эту проблему, где Майк Харди имеетбыла большая помощь.https://github.com/mikehardy/jetifier/issues/27
Я бы рекомендовал избегать AndroidX до приземления 0.60.0.
ИСТОЧНИК ПРОБЛЕМЫ источник проблемы длябольшинство из нас - это селектор диапазона +
в зависимостях gradle.
, как показано здесь в качестве примера в response-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', '+')}"
для большинства из насмы не устанавливаем значение googlePlayServicesVersion на верхнем уровне android / build.gradle
, поэтому мы захотим указать 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 Верхняя строка: <manifest
xmlns:tools="http://schemas.android.com/tools"
тег приложения: tools:replace="android:appComponentFactory"
android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
убедитесь, что ваш gradle-wrapper.properties использует 4.10.1
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
и, наконец, убедитесь, что вы не используете Android X.
gradle.properties:
android.enableJetifier=false
android.useAndroidX=false
Дополнительный шаг (вам может понадобиться это)
, сбой, который не работает, попробуйте также добавить jetifier.Мы будем использовать это для запуска ваших модулей node_modules и обеспечения того, чтобы все использовали библиотеки не androidx.
npm i jetifier --save-dev
или yarn add jetifier --dev
, а затем добавьте в сценарий postinstall
"scripts": {
"postinstall": "jetify -r"
}