ОТА в сборке AOSP

Я разработал приложение с системными разрешениями, которое загружает ZIP-файл из сборки Android 14 R33.

Приложение загружает файл в /data/ota_packages/update.zip.

Затем я выполняю RecoverySystem.VerifyPackage, и метод возвращает правильный результат.

Затем я выполняю RecoverySystem.installpackage и с помощью logcat проверяю, что Android обращается к этому файлу и расшифровывает его с помощью uncrypt.

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

libfs_mgr unknow volume for path /cache/recovery/block.map

Помощь!!!

Использование восстановления для установки обновления ОС Android в наши дни является необычным. С момента запуска новых устройств под управлением Android 8 мы используем разделы A/B и update_engine для установки обновлений во время работы системы и без восстановления. Вы не используете разделы A/B? См. source.android.com/docs/core/ota/ab

satur9nine 14.06.2024 09:48

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

Community 16.06.2024 19:15

Привет, Satur9nine. Прочитав документацию, он решил, что режим обновления RecoverySystem все еще используется. Мне неясно, как включить код для использования update_engine в мое приложение. Мое приложение работает с системными разрешениями. Я не могу импортировать класс android.os.UpdateEngine. Спасибо!

Dani 17.06.2024 11:19

Я добавил ответ с предложением изучить образец обновления LineageOS.

satur9nine 18.06.2024 13:03
0
4
91
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

LineageOS любезно предоставляет пример приложения, демонстрирующий, как взаимодействовать с AOSP update_engine для установки OTA ОС: https://github.com/LineageOS/android_bootable_recovery/tree/lineage-21.0/updater_sample

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

Спасибо за помощь. Наконец, я реализовал код update_engine для обновления с помощью ZIP-файла, который я скачал со своего сервера. Все это с помощью приложения с разрешениями платформы. Спасибо.

Dani 01.07.2024 23:06

@Dani Отлично, добро пожаловать! Нажмите галочку, чтобы принять этот ответ, если он вас устраивает.

satur9nine 02.07.2024 05:35

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

Похожие вопросы