Проблемы с использованием AndroidX и React Native

Я пытался интегрировать AndroidX в мой гибридный проект React Native, и я столкнулся с проблемой, что Jetifier не работает на "локальных" проектах. В результате все мои библиотеки React Native все еще используют старые библиотеки поддержки. Я поместил соответствующие строки в мой файл gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

Это работает для любых удаленных библиотек, но React Native помещает все свои библиотеки как локальные модули на диск.

Я много чего перепробовал, но до сих пор моим лучшим решением является скрипт после установки пакета, который в основном вручную заменяет все пакеты и добавляет / удаляет библиотеки для различных скриптов gradle.

Это очень ручной процесс, а не супер устойчивый. Есть ли лучший способ справиться с этой проблемой?

4 ответа

Попробуйте использовать нижеприведенный пакет ntif Jetifier в скрипте postinstall

https://www.npmjs.com/package/jetifier

Из readme:

Make sure your app is AndroidX
npm install --save-dev jetifier
npx jetify (may take a while)
npx react-native run-android

В настоящее время нет необходимости устанавливать отдельно Jetifier.

Только использовать

      npx jetify

Попробуйте это -> щелкните правой кнопкой мыши на папке приложения> Refactor > Migrate to AndroidX и нажмите на миграцию

https://github.com/facebook/react-native/issues/25307

Попробуйте это. Скорее всего, это будет работать для вас. Я попробовал это https://github.com/JakeWharton/butterknife/issues/1270. в соответствии с этим, добавьте ниже содержание в файле Gradle

repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

и добавить эти два, а также

implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
Другие вопросы по тегам