React Native: создание.apk и.ipa с помощью Expo
Я пытаюсь создать файлы.ipa и.apk для своего приложения React Native с помощью приложения Expo & Create React Native. Я успешно создал приложение и смог запустить его как на iOS, так и на устройстве Android, благодаря документам: https://docs.expo.io/versions/v16.0.0/guides/building-standalone-apps.html
Когда сборка окончена, моя консоль показывает что-то вроде
Ваш URL-адрес https://exp.host/@myname/myapp
Я тогда открываю exp.host/@myname/myapp
на моем устройстве, и приложение отображается через клиент Expo.
Но в пункте 4 документов сказано, что
Когда это будет сделано, вы увидите URL файла.apk (Android) или.ipa (iOS) - это ваше приложение.
Я немного смущен. Где бы я ни находился, я не вижу ни одного файла ipa или apk, сгенерированного где-либо на моем компьютере. Я что-то пропустил? Как мне на самом деле генерировать файлы?
9 ответов
Вам нужно будет бежать exp build:status
, когда процесс сборки будет завершен, вы увидите ссылку для скачивания apk
(Android) или ipa
(IOS) файл
Убедитесь в app.json
{
"expo": {
"name": "your app name",
"description": "your app desc",
....,
"ios": {
"supportsTablet": true
},
"android": {
"package": "com.yourcompany.yourappname"
}
}
}
затем беги exp build:android
или же exp ba
после этого
бежать exp build:status
вы найдете, что-то вроде этого, Apk's размещен на Amazon AWS
[exp] Android:
[exp] APK: https://HOST/yourapp.apk
- используйте ʻexpo build:android` для android
-
используйте ʻexpo build:ios` для ios
он попросит создать новую учетную запись, если у вас нет учетной записи expo
expo build:status
Чтобы узнать статус вашего приложения и приложения в очереди, может потребоваться около 30 минут для создания файла apk.
Вы можете найти его на сайте выставки
Обновление для последней версии выставки:
выставка скоро устарелаexpo build
и призвал использоватьeas build
, который по умолчанию собирается в пакет приложений. Чтобы собрать apk, изменитеeas.json
файл соответственно, как указано здесь в expo docs. Вам, конечно, придется установить ea отдельно, так как он не поставляется вместе с expo-cli.
Для apk добавьте eas.json как:
{
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"production": {}
}
}
а затем запуститьeas build -p android --profile preview
Эта команда будет работать
eas build -p android --profile preview
Согласно https://docs.expo.dev/classic/building-standalone-apps/: «Служба классической сборки (expo build:{android,ios}) находится в режиме обслуживания и заменена сборкой EAS. SDK 46 станет последним пакетом SDK, поддерживаемым классическими сборками, и служба классической сборки перестанет работать для всех версий пакета SDK после 4 января 2023 года». , новые команды:
-
eas build --platform android
для Android -
eas build --platform ios
для iOS -
eas build --platform all
для обоих
Дополнительная информация: https://docs.expo.dev/build/setup/ .
Если вы бежите
exp build:status
вы получите обновление статуса сборки для ios или android. Он покажет одно из следующих возможных состояний:
- Строится в процессе...
- В этой сборке произошла ошибка
- URL файла ipa или apk
URL будет примерно таким:
https://expo.io/builds/{buildId}
где {buildId} является UUID
Когда вы нажмете на ссылку, она покажет текущее состояние, генерируемые журналы, кнопку "Загрузить", где вы можете скачать файл ipa или apk (который будет доступен только в случае успешной сборки) и кнопку "Отмена" отменить текущую сборку (которая будет доступна только в том случае, если сборка запущена).
Кроме того, вы можете просмотреть свои предыдущие и текущие статусы сборки, перейдя по этой ссылке:
https://expo.io/{@user}/{app} / builds
Замените {@user} на ваше имя пользователя expo (включая символ @) и {app} на имя вашего приложения. Здесь вы можете просмотреть определенные статусы сборки, такие как Завершено или Сбой, просмотреть журналы ваших сборок и загрузить текущие и предыдущие успешные сборки.
Этот URL-адрес также отображается при переходе к текущей сборке под заголовком "Журналы сборки":
Это сборка из {@user}/{app}
Если вы используете новые службы приложений Expo (EAS) для создания приложения React Native, вы можете использовать следующую команду для создания файла IPA для IOS:
eas build -p ios --profile preview
И если вы используете Android , вы можете использовать:
eas build -p android --profile preview
Сначала запустите эту команду -> expo build:android, затем
войдите в свою выставочную учетную запись
Выберите желаемый тип сборки:apk: обычный файл apk apk-bundle: для магазина игр и магазина приложений
затем создайте файл хранилища ключей и подождите минимум 10 минут, после чего вы получите ссылку на сборку https://expo.dev/accounts/your_account_name/projects/project_name/builds/6ab79fef-72fe-4f50-88e2 .
перейдите по ссылке и загрузите свою сборку.