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.
Вы можете найти его на сайте выставки

как сгенерировать файл apk/ios из expo

Обновление для последней версии выставки:
выставка скоро устарела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 .

перейдите по ссылке и загрузите свою сборку.

Другие вопросы по тегам