Быстрая компиляция приложения при первой загрузке на Android 10 / LineageOS 17.1 - PullRequest
0 голосов
/ 23 апреля 2020

Я создаю пользовательское ПЗУ для устройства (Sony), которое больше не получает обновления. В этом процессе требуется несколько проприетарных «блобов», которые взяты из официальной прошивки и включены (в основном) без изменений в результирующее ПЗУ. Одним из них является файл APK камеры.

Теперь проблема: при запуске этого приложения оно будет работать с * 1000 (* адресом доступа 0x10), если приложение не скомпилировано по скорости (cmd package compile -f -m speed name.space.of.app) I ' мы пытались это понять, но потерпели неудачу, трассировка стека составляет только 1 кадр, и это указывает на строку в файле ассемблера, которая не может обработать sh (sub x0, x0, x5, следовательно, только регистр доступа)

Так что единственный «исправить» / обходной путь - это скомпилировать приложение при первой загрузке.

Есть ли способ Android скомпилировать один APK с фильтром скорости (или профиля скорости) при первой загрузке?
Единственное, что я нашел, это pm.dexopt.boot=speed-profile, но это скомпилировало бы все (системные) приложения, включая те, которые не используются, тратя время и пространство.

Я хочу избежать разветвления репозитория core-framework и взломать его в PackageManagerService , Последнее средство, с которым я мог бы go использовать, - это применить патч, если это было бы возможно только во время компиляции и из репо device (device/<vendor>/<codename>) без фактического изменения репозитория core-framework (чтобы избежать проблем с repo sync)

...