Поделиться через


Создание приложений React Native для Android

Внимание

Центр приложений Visual Studio планируется выйти на пенсию 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio до тех пор, пока он не будет полностью прекращен, существует несколько рекомендуемых вариантов, которые можно перенести.

Дополнительные сведения о временной шкале поддержки и альтернативах.

Центр приложений может создавать приложения React Native с помощью React Native версии 0.34 или более поздней.

Чтобы приступить к созданию первого приложения React Native Android, необходимо:

  1. Подключитесь к учетной записи службы репозитория (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Выберите репозиторий и ветвь, в которой находится ваше приложение.
  3. Выберите проект package.json , который вы хотите создать.
  4. Настройте первую сборку.

Примечание.

Чтобы приложение выполнялось на реальном устройстве, сборка должна быть подписана с действительным сертификатом.

1. Связывание репозитория

Если вы ранее не подключились к учетной записи службы репозитория, сначала это необходимо сделать. После подключения учетной записи выберите репозиторий, в котором находится проект React Native. Для настройки сборки для репозитория необходимо иметь разрешения администратора и извлечения.

2. Выбор ветви

Выбрав репозиторий, выберите ветвь, которую вы хотите создать. По умолчанию Центр приложений выводит список всех активных ветвей.

3. Настройка первой сборки

Перед первой сборкой необходимо настроить проект React Native.

3.1. Project

Выберите проект package.json. Центр приложений автоматически извлекает сведения из связанного файла build.gradle (уровня приложения), включая зависимости, версию средств сборки, типы сборки и вкусы продуктов.

Примечание.

Для повышения производительности анализ в настоящее время ограничен четырьмя уровнями каталогов, включая корневой каталог репозитория.

3.2. Вариант сборки

Доступные варианты сборки заполнятся из типов сборки и вкусов продуктов, указанных в файле build.gradle проекта (уровень приложения). Выберите вариант сборки.

Примечание.

App Center Build поддерживает поиск вариантов сборки в виде сочетания типа сборки (отладки, выпуска или пользовательского определения) и одного дополнительного варианта Product Flavor. Обнаружение сочетаний нескольких вкусов продукта в настоящее время не поддерживается.

3.3. Версия Node.js

Выберите версию Node.js, используемую для сборки, узнайте больше о том, как выбрать версию Node.js

3.4. Триггеры сборки

По умолчанию новая сборка активируется каждый раз, когда разработчик отправляет в настроенную ветвь. Это называется "Непрерывная интеграция". Если вы предпочитаете активировать новую сборку вручную, можно изменить этот параметр в области конфигурации.

3.5. Создание пакета приложений Android (.aab)

Пакет приложений Android — это формат распространения, который можно отправить в Магазин Play. Он используется для создания оптимизированных API для определенных устройств. Дополнительные сведения о пакете приложений Android можно узнать в официальной документации по Android, которая также помогает понять, хотите ли вы создать пакет вместе с вашим регулярным пакетом. .apk.

Переключитесь на параметр пакета приложений Android для создания .aab в дополнение к элементу .apk. build.gradle Если файл (уровень приложения) содержит android.bundle блок, этот параметр автоматически будет включен.

3.6. Номер версии добавочного числа

При включении код версии в AndroidManifest.xml приложения автоматически увеличивается для каждой сборки. Изменения происходят во время фактической сборки и не будут зафиксированы в репозитории.

3.7. Запуск успешной сборки на реальном устройстве

Используйте только что созданный APK-файл, чтобы проверить, запускается ли приложение на реальном устройстве. Запуск тестов добавит около 10 минут в общее время сборки. Узнайте больше о настройке тестов запуска.

3.8. подписывание кода;

Успешная сборка создаст .apk файл и дополнительный .aab файл, если он включен. Чтобы освободить сборку в Магазине Play, она должна быть подписана действительным сертификатом, хранящимся в хранилище ключей. Чтобы подписать сборки, созданные из ветви, включите вход кода в область конфигурации, отправьте хранилище ключей в репозиторий и укажите соответствующие значения в области конфигурации. Дополнительные сведения о подписи кода в Центре приложений Android см. в документации по подписи кода Android. Он .aab будет подписан с помощью одних и того же учетных данных, что .apkи .

3.9. Распространение сборки

Вы можете настроить каждую успешную сборку из ветви для распространения в ранее созданную группу рассылки или назначение хранилища. Вы можете добавить новую группу рассылки или настроить подключение хранилища из службы распространения. Всегда существует группа рассылки по умолчанию с именем "Сотрудники", которая включает всех пользователей, имеющих доступ к приложению.

Примечание.

Если распространение в Google Play Store, пакет приложений Android (.aab) предпочтителен и будет распространяться, если включен. Для групп рассылки Центра приложений и назначений магазина Intune регулярно .apk будет использоваться даже в том случае, если .aab он также создан.

4. Результаты сборки

После триггеров сборки сборка будет находиться в одном из следующих состояний:

  • queued — сборка находится в очереди, ожидающей освобождения ресурсов
  • сборка выполняет предопределенные задачи.
  • Выполнено успешно. Сборка завершена и выполнена успешно.
  • Сбой — сборка завершена, но она не выполнена; вы можете устранить неполадки, скачав и проверив журнал сборки.
  • отменено . Сборка отменена действием пользователя или истекло время ожидания

4.1. Журналы сборки

Для завершенной сборки (успешной или неудачной) скачайте журналы, чтобы узнать больше о том, как пошел сборка. Центр приложений предоставляет архив со следующими файлами:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Журналы, относящиеся к шагу сборки (расположенные в build/ каталоге архива), полезны для устранения неполадок и понимания того, какой шаг и почему сборка завершилась сбоем.

4.2. Приложение (.apk)

Файл .apk — это упакованный файл приложения Android, в который хранится приложение Android. Если сборка была правильно подписана, приложение можно установить на реальном устройстве и развернуть в Магазине Play. Если сборка не подписана, приложение может работать в эмуляторе или использоваться в других целях.

5. Поддерживаемые версии и требования

Минимальная версия, поддерживаемая для сборки приложений Android, — 5.0 (уровень API 21). Приложения Android могут иметь более низкий минимальный уровень API, необходимый для выполнения, но должен быть предназначен по крайней мере на уровне API 21.

6. Советы по сборке

6.1. Yarn

Диспетчер пакетов Yarn является более быстрой, более детерминированной заменойnpm. Если файл присутствует рядом yarn.lock с репозиторием package.json, центр приложений будет использовать Yarn, выполняя в yarn install начале сборки. В противном случае это произойдет npm install.

6.2. Пользовательские скрипты сборки

Перед выполнением команд сборки центра приложений по умолчанию существует несколько вариантов выполнения сценариев.

  • Создайте скрипт postinstall в файле проектаpackage.json. Этот скрипт будет автоматически выполняться после установки зависимостей.

      "scripts": {
        ...
        "postinstall" : "npx jetify" // other examples: "node ./postinstall.js" or "./postinstall.sh"
      },
    
  • Создание скрипта оболочки с помощью пользовательских скриптов сборки в Центре приложений.

    #!/usr/bin/env bash
    
    # Example: Authenticate with private NPM registry
    echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
    
    # Example: Add your signing key file (from base64 encoded environment variable)
    base64 -d <<< "$ANDROID_JSON_KEY_FILE" > android/keystores/json_key_file.json
    

6.3. Создание нескольких API

Для React Native в Android универсальное поколение APK по умолчанию отключено. Если конфигурация приложения настроена для создания нескольких APK, например разных для каждой архитектуры ЦП или конфигурации экрана, необходимо убедиться, что универсальный APK также создан. Система сборки Центра приложений работает с одним основным ФАЙЛом APK и будет игнорировать все API, относящиеся к определенной плотности ЦП/ABI или экрана.

Дополнительные сведения о разбиениях APK и создании универсального APK см. в соответствующем руководстве разработчика Android. Следовательно, убедитесь, что universalApk для конфигурации сборки React Native задано значение true .