Я построил свое приложение, я могу запустить его на локальном эмуляторе (а также на своем устройстве Android в той же сети, изменив сервер отладки).
Однако я хочу создать APK, который я могу отправить кому-то без доступа к серверу разработки, и я хочу, чтобы он мог тестировать приложение.
Я вижу, есть раздел Использование автономного пакета на iOS разделе документации. Но я не мог понять, как сделать то же самое для Android. Это возможно? Если да, то как?
ОБНОВЛЕНИЕ: В ответе на этот вопрос ( Android не удалось загрузить пакет JS ) говорится, что автономный пакет можно загрузить с сервера разработки. Но когда я получаю пакет с сервера разработки, файлы изображений не могут быть загружены.
javascript
android
react-native
mobile-application
Гохан сари
источник
источник
Ответы:
После ответа Адитьи Сингха сгенерированный (без знака) apk не будет установлен на моем телефоне. Я должен был создать подписанный apk, используя инструкции здесь .
У меня сработало следующее:
Поместите
my-release-key.keystore
файл вandroid/app
каталог в папке вашего проекта. Затем отредактируйте файл~/.gradle/gradle.properties
и добавьте следующее (замените **** на правильный пароль хранилища ключей, псевдоним и пароль ключа)Если вы используете MacOS, вы можете сохранить свой пароль в связке ключей, следуя приведенным здесь инструкциям, вместо того, чтобы хранить его в виде открытого текста.
Затем отредактируйте app / build.gradle и убедитесь, что имеется следующее (возможно, необходимо добавить разделы с signatureConfigs signatureConfig):
Затем запустите команду
cd android && ./gradlew assembleRelease
,Для Windows 'cd android' и затем запустите
gradlew assembleRelease
команду, и найдите ваш подписанный apk подandroid/app/build/outputs/apk/app-release.apk
источник
Вам нужно будет создать ключ для подписи apk. Используйте ниже, чтобы создать свой ключ:
Используйте пароль при запросе
Как только ключ сгенерирован, используйте его для генерации устанавливаемой сборки:
Генерация сборки с использованием Gradle
Загрузите APK на свой телефон.
-r
Флаг заменит существующую программу (если она существует)Более подробное описание приведено здесь: https://facebook.github.io/react-native/docs/signed-apk-android.html.
ОБНОВЛЕНИЕ : Основано на комментариях @shashuec и @Fallen
если вы получили ошибку
запустите mkdir android / app / src / main / assets
источник
react-native bundle
часть. Спасибо за Ваш ответ!gradlew.bat assembleRelease
также.Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
. когда я пытаюсь установить апк.ENOENT: no such file or directory, open 'android/app/src/main/assets/index.android.bundle'
запуститеmkdir android/app/src/main/assets
Вы должны просто использовать Android Studio для этого процесса. Это просто проще. Но сначала запустите эту команду в своем собственном каталоге приложений:
Для более новой версии реакции-нативной (например, реакция нативной 0.49.0 и т. Д.)
Для более старой версии реактивной системы (0.49.0 и ниже)
Затем используйте android studio, чтобы открыть папку «android» в вашем собственном каталоге приложений, он попросит обновить gradle и некоторые другие вещи. Зайдите в build-> Generate подписанный APK и следуйте инструкциям оттуда. Это действительно прямо вперед.
источник
Запустите эту команду:
источник
cd android && ./gradlew installRelease
и получил эту ошибкуTask 'assembleRelease.' not found in root project 'project'. Some candidates are: 'assembleRelease'.
для React Native 0.49 и выше
Вы должны перейти в каталог проекта на терминале и выполнить эту команду
если под 0,49
Затем используйте android studio, чтобы открыть папку «android» в вашем собственном каталоге приложений, он попросит обновить gradle и некоторые другие вещи. Зайдите в build-> Generate подписанный APK и следуйте инструкциям оттуда. Это хорошо.
источник
Если ты получишь
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
.Я попытался с помощью метода @ Aditya создать неподписанный APK-файл и установить его, но когда я установил его на свой Android-планшет, он выдал ошибку
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
.Я предполагаю, что это потому, что файл APK не был подписан, и планшет не был доволен этим. Итак, после создания файла комплекта React Native я смог сгенерировать подписанный файл APK, как обычно, через Android Studio.
Кстати, наше приложение является полнофункциональным Android-приложением, которое уже существует в Play Store, и мы просто добавляем React Native в виде кусочков, потому что оно классное.
Итак, подведем итог, вот мои шаги:
1) Создать React Native bundle:
2) Создайте подписанный файл APK из Android Studio.
3) Установите подписанный APK-файл на USB-устройство:
-d
Флаг просто говорит ,adb
чтобы установить на USB устройство , подключенное, в том случае, если у вас есть эмулятор работает , как хорошо. Если вы хотите установить на любом эмуляторе, сбросьте-d
флаг.4) Прибыль!
источник
Попробуйте ниже, он сгенерирует app-debug.apk в вашей корневой / android / app / build / output / apk / debug папке
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
затем перейдите в папку Android и запустите
./gradlew assembleDebug
источник
Если кто-то хочет собрать без ключей PlayStore, эта команда будет очень полезна.
# react-native run-android --variant=release
После завершения сборки вы можете найти apk в файле сборки релиза.
источник
Перейдите в каталог проекта и выполните команду:
источник
Если вы получаете сообщение об ошибке index.android.js. Это потому, что вы используете новую версию React-native (я использую 0.55.4). Просто замените «index.android.js» на «index.js»
источник
У меня есть другое решение: - Создание ключа подписи Вы можете создать личный ключ подписи, используя keytool. В Windows keytool должен запускаться из C: \ Program Files \ Java \ jdkx.x.x_x \ bin.
Поместите файл my-release-key.keystore в каталог android / app в папке вашего проекта.
Отредактируйте файл android / app / build.gradle в папке вашего проекта и добавьте конфигурацию для подписи,
и беги
Это даст вам два файла: android \ app \ build \ output \ apk app-release.apk и app-release-unsigned.apk теперь установите app-release.apk на ваше устройство Android.
источник
Надеюсь, это поможет новым новичкам
Официальный документ здесь
Если у вас нет хранилища ключей, чем использовать перед командой, иначе пропустите
Генерация ключа подписи / файла хранилища ключей. Вы можете создать личный ключ подписи, используя keytool. В Windows keytool должен запускаться из C: \ Program Files \ Java \ jdkx.x.x_x \ bin.
вы получите файл типа my-release-key.keystore
Настройка переменных gradle Поместите файл my-release-key.keystore в каталог android / app в папке вашего проекта. Отредактируйте файл андроид / gradle.properties и добавить следующее (замените ***** с правильным паролем хранилища ключей, псевдонимом и паролем ключа), enableAapt2 набора фальшь обходной путь, как и Android Gradle версии 3.0 проблем
затем добавьте эти app / buid.gradle (приложение)
ниже конфигурации по умолчанию
и Inside Build type release {}
затем просто запустите эту команду в терминале студии Android. Ниже команды будут автоматизировать, прежде всего ответы
если окна
если Linux / Mac
если вы получили какую-либо ошибку, удалите всю папку сборки и выполните команду
чем снова
источник
gradle clean
... Я боролся с этим некоторое время, получая эти ошибки сборки, большое спасибо за этот ответ !!Для получения последней версии реагируйте на родные версии для связывания проекта.
Android
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/
IOS
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
источник
GUI способ в Android Studio
источник
Использование android studio для создания подписанного apk для Android-проекта реагирования также является хорошим и простым вариантом, откройте android-проект реагирования в android studio и сгенерируйте нажатие клавиш и подписанный apk.
источник
Обратитесь к официальной официальной документации о создании подписанного APK
Реактивно-генерирующая подписанная APK
источник