Как используется переменная среды WITH_DEXPREOPT? - PullRequest
0 голосов
/ 10 июня 2019

Я собирал исходный код Android после добавления пакета приложения в каталог поставщика.Но make не смог сказать

DWARF ERROR: Invalid pointer.

У меня сейчас нет точной ошибки, так как позже, после поиска причины, я наткнулся на сообщение с просьбой использовать

export WITH_DEXPREOPT = false

раньшеbuild.So после использования этого кода, созданного успешно.

Может кто-нибудь объяснить, пожалуйста, использование переменной окружения WITH_DEXPREOPT?

(отредактировано)

Небольшая частьжурналы ошибок введите описание изображения здесь

1 Ответ

0 голосов
/ 11 июня 2019

ART теперь стандартная среда выполнения на Android.

WITH_DEXPREOPT := true

Это делает odexed сборку, которая, кажется, значительно улучшается производительность во время загрузки после обновления. Существует также значительное улучшение производительности при использовании устройства шифрование. С шифрованием устройства, раздел данных (содержащий скомпилированные OAT файлы) недоступны до расшифровки, пока система необходимо загрузить большинство фреймворков и несколько пакетов, просто показать подсказку дешифрования и клавиатуру.

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

WITH_DEXPREOPT использует немного больше места на устройство. Это не так много для современных высокопроизводительных устройств, но ничего более Наследие может иметь проблемы. Если вы будете следовать инструкциям на https://source.android.com/devices/tech/dalvik/configure.html#sample_usage тем не менее, он поможет вам постепенно уменьшить оптимизирован, пока вы не получите что-то, что подходит системе и работает.

WITH_DEXPREOPT := false

Это создаст автономный apk без файлов OAT.

Более подробная информация доступна на https://source.android.com/devices/tech/dalvik/configure.html

...