Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Создание приложения для Android может занять много времени. Для более быстрых итераций во время разработки вы можете исправить пакет приложения, а не пересобирать его. Когда вы исправляете пакет приложения, Unity обрабатывает только файлы, в которые были внесены изменения с момента последнего исправления, и отправляет их на подключенное устройство Android.

Совместимость с платформами

Платформа Исправление приложений
Android Supported
Chrome OS Unsupported

Исправление приложения

Чтобы исправить приложение, вы можете использовать редактор Unity или, если вы реализуете собственный конвейер сборки, API сценариев.

При первом обновлении приложения Unity настраивает среду приложения исправления на устройстве. Это означает, что первое исправление занимает больше времени, чем последующие исправления.

От редактора

Чтобы исправить приложение из редактора Unity:

  1. Откройте окно настроек сборки (меню: Файл > Настройки сборки).
  2. Выберите платформу Android из списка Платформа.
  3. Включить Сборка для разработкиСборка для разработки включает символы отладки и включает профилировщик. Подробнее
    См. в Словарь
    .
  4. Выберите Исправить или, если вы хотите запустить исправление после того, как Unity завершит его создание, выберите Исправить и запустить.
Окно настроек сборки Android.
Окно настроек сборки Android.

Использование скриптового API

Если вы реализуете собственный конвейер сборки, вы можете использовать API сценариев для внесения исправлений в свое приложение. Для этого передайте BuildOptions.BuildScriptsOnly и BuildOptions.PatchPackage параметры метода BuildPipeline.BuildPlayer.

Например:

BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity"}; buildPlayerOptions.target = BuildTarget.Android; // Use Patch & Run for all builds for optimal turn-around times. // (In prior versions, an initial regular Build & Run was necessary.) buildPlayerOptions.options = BuildOptions.PatchPackage | BuildOptions.AutoRunPlayer | BuildOptions.Development; BuildPipeline.BuildPlayer(buildPlayerOptions);

Как работает исправление приложений

При обновлении приложения Unity:

  • Создает минимальный APKформат пакета Android, выводимый Unity. APK автоматически развертывается на вашем устройстве, когда вы выбираете «Файл» > «Сборка и запуск». Подробнее
    См. Словарь
    , содержащий все скомпилированные исходные коды Java.
  • Принимает файлы, которые были изменены с момента последнего исправления, и сохраняет их в каталоге внутри папки кеша приложения по адресу: /storage/emulated/0/Android/data//pram- теневые файлы/.
  • Хранит файлы собственной библиотеки, включая сценарии, скомпилированные с использованием Il2cppразработанного в Unity скриптовый сервер, который вы можете использовать в качестве альтернативы Mono при создании проектов для некоторых платформ. Подробнее
    См. в Словарь
    в каталоге данных приложения по адресу: /data/data//pram-shadow-files/lib/.

При запуске приложение проверяет файл маркера внутри APK. Если маркер существует, приложение перенаправляет чтение своего файла в каталог pram-shadow-files.

При сборке и запуске не удаляются файлы исправлений. Вместо этого он заменяет установку APK. Это отключает перенаправление в каталог pram-shadow-files. Это означает, что последующие сборки исправлений могут повторно использовать неизмененные файлы.

Очистка файлов патчей

Вы можете использовать настройки хранилища Android, чтобы очистить кеш приложения. При очистке кэша удаляются файлы исправлений, установленные в процессе сборки исправлений приложения.

Действия по очистке кэша приложения различаются в зависимости от устройства Android. Чтобы найти шаги для вашего устройства:

  1. Перейдите на страницу получите помощь от производителя вашего устройства.
  2. Найдите производителя своего устройства и перейдите по ссылке на его сайт поддержки.
  3. Поищите на сайте поддержки действия по очистке кэша приложения.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3