Процесс сборки выполняет:
npx --quiet response-native config или npx.cmd --quiet реагировать-native config
Эта команда, если вы выполняете ее в корневом каталогеВаш проект выдаст вывод JSON (если все настроено правильно).
Затем вывод JSON анализируется в скрипте gradle, на который вы ссылались. Когда все настроено неправильно, th npx --quiet response-native config ничего не выдаст или выведет неверный вывод. Таким образом, синтаксический анализ JSON (в строке 191) завершится неудачей.
Весь этот механизм вызова 'npx --quiet react-native config' используется в последней версии response-native, так что он будет автоматически 'свяжите 'все нативные пакеты, которые есть в вашем package.json, в ваше Java-приложение для Android. (он в основном внедряет во время компиляции вашего приложения имена всех этих пакетов).
-
К сожалению, не существует ни одного «обходного пути», который бы помог вам решить эту проблему. У вас может быть несовпадение (или неправильная настройка)
- app / build.gradle
- settings.gradle
- build.gradle
- версии@act-native / community / cli в вашем пакете.json
- версии реактивной системы, работающей с определенной версией community-cli
- act-native.config.js
Лучшее, что я мог бы порекомендовать на этом этапе, - это обновить его до последней версии React, которую вы можете себе позволить, а затем использовать
https://github.com/react-native-community/rn-diff-purge
, чтобы выяснить все необходимые изменения. сделать вышеупомянутые файлы конфигурации между версией, в которой он работал, и версией RN, в которой он перестал работать.
Если все не удалось, попробуйте отладить native_modules.gradle. Перейдите туда и вставьте:
this.logger.warn("cmd: ${command}, result: ${reactNativeConfigOutput}");
куда-нибудь после оператора, который инициализирует строковую переменную activNativeConfigOutput.
Этот оператор журнала распечатает команду и выходные данные той команды, которая была выполнена этимautolinking machinery.
Так что, когда вы запускаете gradlew build
, вы должны увидеть какой-то вывод.
В моем случае команда (cmd) была:
npx.cmd --quiet react-native config
иresponseNativeConfigOutput был:
info Run "react-native --help" to see a list of all available commands
. Вы можете видеть, что выход был , а не действительным json, и первым символом был 'i', и выходной синтаксический анализ JSON (который используется в native_modules. gradle) выдал ошибку, которая жаловалась на то, что «я» не является действительным символом