Недавно я столкнулся с проблемой, которой раньше не было ...
Запуск react-native link приводит к добавлению кода в уже добавленные файлы Android (пытается связать зависимости, которые уже были связаны. Есть идеи, почему это происходит?
"dependencies": {
"lodash": "^4.17.4",
"react": "16.2.0",
"react-native": "0.52.3",
"react-native-blur": "^3.2.2",
"react-native-fabric": "^0.5.1",
"react-native-fbsdk": "^0.7.0",
"react-native-firebase": "^3.3.1",
"react-native-iap": "^0.2.17",
"react-native-loading-spinner-overlay": "^0.5.2",
"react-native-mail": "^3.0.5",
"react-native-onesignal": "^3.0.9",
"react-native-sound": "^0.10.9",
"react-native-splash-screen": "^3.0.6",
"react-navigation": "^1.0.0-beta.23",
"react-redux": "^5.0.6",
"redux": "^3.7.2",
"redux-action-listeners": "^1.0.2",
"redux-thunk": "^2.2.0"
},
Эта ошибка возникла из-за неправильного кода в файле link.js ранее, в этой строке.
const isInstalled = linkConfig.isInstalled(project[platform], dependency.config[platform]);
Это исправлено этим совершить, и последняя версия link.js также имеет фиксированный код, замененный этой строкой
const isInstalled = linkConfig.isInstalled(project[platform], dependency.name, dependency.config[platform]);
Вот ссылка на проблема
Согласно их git branches, последние версии master branch или 0.54-stable и 0.55-stable должны это исправить.
Идеально. Очень признателен.
Как упоминалось в Притиш, возникла проблема с реактивным вызовом ссылок react-native link или повторным связыванием всей библиотеки Android, что означает, что он будет вызывать скрипт ссылки, связанный с вашими зависимостями. Решение состоит в том, чтобы связать только недавно добавленную библиотеку, позвонив в react-native link <LIBRARY_NAME>.
Например
Если в вашем проекте вы используете реагировать на родную камеру и реагировать-native-fs, вызов react-native link свяжет и react-native-camera, и react-native-fs.
Предположим, вы уже подключили react-native-camera, но не добавляли react-native-fs. После добавления react-native-fs в качестве зависимости, если вы хотите, чтобы он был связан (без повторного связывания react-native-camera), вызовите: react-native link react-native-fs
Надеюсь, поможет.
Если команда реакция на родную ссылку уже была запущена раньше, тогда все зависимости будут добавлены дважды.
Чтобы избежать этой всегда конкретной библиотеки ссылок, например:
React-native ссылка <Имя вашей библиотеки>
Чтобы удалить повторяющиеся зависимости, удалите повторяющиеся записи из следующих файлов:
1. build.gradle (Проверить зависимости)
2. setting.gradle
3. MainApplication.java (проверьте импорт и getPackages ())
Спасибо, Притиш! Вы знаете, какая версия react-native решает проблему?