Проблемы с использованием 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/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'