Как я новичок в реакции-родной, так что если что-то не так в шагах, дайте мне знать.
Я создал реагировать родное приложение для Android с помощью команды в соответствии с документацией
реагировать-родной андроид
при запуске на устройстве использовалась следующая команда
реагировать-родной запуск андроид
который дает мне вывод 2 apk файлов в моей папке проекта / android / app / build / output / apk
теперь, когда я использую для установки этот apk после установки, он запрашивает сервер разработки для подключения для комплектации JS. Но мое требование заключается в том, что пользователю не нужно бороться с сервером разработки, просто ему нужно установить apk, и все готово.
Прошли некоторые вопросы по stackoverflow, но не помогли собрать неподписанный apk, который не требует сервера разработки.
Не могли бы вы, ребята, помочь мне найти способ, которым как построить и неподписанный apk в реагировать родной?
источник
Ответы:
Вам необходимо вручную создать пакет для отладочной сборки.
Bundle debug build:
Затем, чтобы построить APK после комплектации:
PS Другой подход может заключаться в модификации скриптов Gradle.
источник
--assets-dest ./android/app/src/main/res/
Пожалуйста, следуйте этим шагам.
Поставьте свой JS:
если у вас есть index.android.js в корне проекта, запустите
если у вас есть index.js в корне проекта, запустите
Создать отладочный apk:
Тогда вы можете найти свой apk здесь:
источник
react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug
Последнее обновление
В корневой директории проекта
Убедитесь, что у вас уже есть каталог android / app / src / main / assets / , если не создаете каталог, после этого создайте новый файл и сохраните как,
index.android.bundle
и поместите ваш файл как этот android / app / src / main / assets / index.android .bundleПосле этого запустите
Затем вы можете получить
apk
в app / build / output / apk / debug / app-debug.apkисточник
index.android.bundle
, действительно важна для того, чтобы не использовать сервер разработки в хосте.Со мной в каталоге проекта запускаются следующие команды.
Для реагирования родной старой версии (вы увидите index.android.js в корне):
Для реакции на новую версию (вы просто видите index.js в корне):
Файл apk будет сгенерирован по адресу:
источник
$ mkdir -p android/app/src/main/assets && rm -rf android/app/build && react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && cd android && ./gradlew assembleDebug
--entry-file index.android.js
необходимо заменить--entry-file index.js
для более новых проектов, которые находятсяindex.js
неindex.android.js
в корневом каталоге своих проектов.После того, как вы выполните первый ответ , вы можете запустить свое приложение, используя
И ваше приложение будет работать без упаковщика
источник
Начиная с версии 0.57, ни один из ранее предоставленных ответов больше не будет работать, так как каталоги, в которых gradle ожидает найти пакет, и активы изменились.
Простой способ без реактивно-родной связки
Самый простой способ построить отладочную сборку - это вообще не использовать
react-native bundle
команду, а просто изменить вашapp/build.gradle
файл.Внутри
project.ext.react
карты вapp/build.gradle
файле добавьтеbundleInDebug: true
запись. Если вы хотите, чтобы это не была--dev
сборка (без предупреждений и минимизированного пакета), вам также следует добавитьdevDisabledInDebug: true
запись в ту же карту.С реактивно-родной связкой
Если по какой-либо причине вам нужно или вы хотите использовать
react-native bundle
команду для создания пакета, а затем./gradlew assembleDebug
для создания APK с пакетом и активами, вы должны убедиться, что пакет и активы находятся в правильном пути, где gradle может найдите их.Начиная с реактивной
android/app/build/generated/assets/react/debug/index.android.js
версии 0.57, эти пути для связкии
android/app/build/generated/res/react/debug
для активов. Итак, полные команды для ручного связывания и сборки APK с комплектом и активами:react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/build/generated/assets/react/debug/index.android.bundle --assets-dest ./android/app/build/res/react/debug
а потом
./gradlew assembleDebug
Пакет и путь активов
Обратите внимание, что пути, где gradle ищет пакет и активы, могут быть изменены. Чтобы узнать, где находятся эти пути, посмотрите на
react.gradle
файл в вашемnode_modules/react-native
каталоге. Строки начинаются сdef jsBundleDir =
иdef resourcesDir =
указывают каталоги, где Gradle ищет пакет и ресурсы соответственно.источник
Для пользователя Windows, если все шаги следуют правильно из этого: https://facebook.github.io/react-native/docs/signed-apk-android.html
Вам нужно только запустить:
gradlew assembleRelease
И ваш файл будет:
Расположение:
E:\YourProjectName\android\app\build\outputs\apk
источник
Я на реагирую родной 0.55.4, в основном я должен был связать вручную:
Затем подключите устройство через USB, включите отладку USB. Проверьте подключенное устройство с помощью
adb devices
.Наконец, запустите,
react-native run-android
который установит отладочный apk на ваш телефон, и вы сможете запустить его на сервере devПримечание:
index.js
gradlew assembleRelease
генерирует только apks-unsigned apks, которые не могут быть установленыисточник
Может быть возможно создать неподписанную версию apk для тестирования, чтобы вы могли работать на своем мобильном телефоне.
Первоначально я получил ошибки красного экрана, как большинство упоминалось здесь. но я следовал тому же, что упоминалось здесь, и это сработало для меня.
На вашей консоли из рабочего каталога выполните эти четыре команды
И тогда APK файл выдаст на: android \ app \ build \ output \ apk \ debug \ app-debug.apk
источник
На тот случай, если кто-то еще недавно столкнулся с этой же проблемой, я использую React Native 0.59.8 (также протестирован с RN 0.60), и я могу подтвердить некоторые другие ответы, вот шаги:
Удалите последнюю скомпилированную версию вашего приложения, установленного на вашем устройстве.
Бегать
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
бегать
cd android/ && ./gradlew assembleDebug
Загрузите ваш app-debug.apk в папку android / app / build / output / apk / debug
удачи!
источник
android/app/build/generated/assets/react/debug/index.android.js
а активы будут вandroid/app/build/generated/res/react/debug
качестве реакции-нативной 0,57.Я нашел решение, меняющее buildTypes следующим образом:
источник