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

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

android.useAndroidX=true
android.enableJetifier=true

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

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

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


person Chubacca    schedule 10.11.2018    source источник
comment
Вот проблема на React Native GitHub, соответствующая вашей проблеме. github.com/facebook/react-native/issues/23112. Вероятно, в ближайшее время это будет исправлено, поэтому проблем с использованием AndroidX не возникнет.   -  person Kamo Spertsian    schedule 24.01.2019
comment
Этот сценарий есть где угодно. Хотелось бы получить суть. Спасибо   -  person Brenwell    schedule 06.02.2019
comment
К сожалению, нет - мы просто решили пока не переходить на AndroidX. Мы так и не закончили сценарий, учитывая его неустойчивый характер. Надеюсь, исправления скоро будут объединены!   -  person Chubacca    schedule 29.03.2019
comment
Я сделал это, разветвив репозитории (около 8), а затем перенаправив пряжу на использование вилок: github.com/ greg7gkb? tab = repositories Вместо написания сценариев я импортировал разветвленную библиотеку в Android Studio и запустил рефакторинг - ›Переход на AndroidX. Подходит в качестве временного решения до тех пор, пока вышеуказанная проблема не будет решена официально.   -  person greg7gkb    schedule 30.05.2019
comment
Есть ли лучшее решение, чем разветвлять пакеты и переносить их на androidx вручную? После этих выпусков developers.google.com/android/guides/releases мой собственный проект React. не удается собрать для Android.   -  person Taylor Johnson    schedule 18.06.2019


Ответы (3)


попробуйте использовать пакет npm Jetifier ниже в сценарии после установки

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

Из ридми:

Make sure your app is AndroidX
npm install --save-dev jetifier
npx jetify (may take a while)
npx react-native run-android
person Taylor Johnson    schedule 19.06.2019
comment
Я получал следующую ошибку, и этот ответ решил мою проблему. package android.support.annotation does not exist - person refik; 20.08.2019

попробуйте это -> Щелкните правой кнопкой мыши папку приложения> Refactor> Migrate to AndroidX и нажмите на migrate

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

person Ryan Saleh    schedule 23.06.2019
comment
Вау, студия Android сделала что-то легкое на этот раз! - person David Jarrin; 04.01.2020

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

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

npx jetify
person hong developer    schedule 07.04.2021