Патчирование приложений
Создание приложения для Android может занять значительное количество времени. Для более быстрых итераций во время разработки, вы можете патч пакет приложения вместо того, чтобы перестраивать его. Когда вы патч пакет приложения, Unity только обрабатывает файлы, в которые были внесены изменения после последнего патча и отправляет их на подключенное Android устройство.
Патчирование приложения
Для исправления приложения вы можете использовать Unity Editor или, если вы реализуете свой собственный конвейер сборки, скрипт API.
При первом патчировании приложения Unity настраивает среду приложения патча на устройстве. Это означает, что первый патч занимает больше времени, чем последующие патчи.
От редактора
Чтобы исправить приложение из Unity Editor:
- Откройте Создание профилей окно (меню: Файл > Создание профилей).
- Из списка платформ в панели Платформы выберите Android или создать профиль сборки для платформы Android.
- В разделе Настройки платформы включите Разработанная сборка.
- В течение Создание устройства настройка, выбор Патч или, если вы хотите запустить патч после Unity завершил его возведение, Патч и запустить.
Использование скрипта 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, содержащий все скомпилированные исходные тексты Java.
- Принимает файлы, изменившиеся с момента последнего патча, и сохраняет их в каталоге внутри папки кэша приложения:
/storage/emulated/0/Android/data/<PackageName>/pram-shadow-files/. - Хранит файлы библиотеки, включая скрипты, скомпилированные с помощью Il2cpp, в каталоге данных приложения по адресу:
/data/data/<PackageName>/pram-shadow-files/lib/.
Когда приложение запускается, оно проверяет файл маркера внутри APK.. Если маркер существует, приложение перенаправляет свой файл в каталог pram-shadow-files.
Build & Run не очищает ни один из файлов патча. Вместо этого он заменяет установку APK. Это отключает перенаправление в каталог pram-shadow-files. Это означает, что последующие сборки патча могут повторно использовать неизмененные файлы.
Очистка файлов патчей
Вы можете использовать параметры хранения Android для очистки кэша приложения. Очистка кэша удаляет файлы патчей, установленные процессом сборки патчей приложения.
Порядок очистки кэша приложения различен в зависимости от устройства Android. Чтобы найти шаги для вашего устройства:
- Перейти на Получить помощь от производителя устройства.
- Найдите производителя вашего устройства и перейдите по ссылке на его веб-сайт поддержки.
- Поиск на веб-сайте поддержки для действий по очистке кэша приложения.