Как работают оверлеи на базе Android?

В источнике андроида в папке device/sample находится папка с именем overlays. Вы видите одну и ту же папку наложения, например. cyanogen mods.

Что это за папка наложения? Как это работает? Для чего его используют? Где я могу узнать больше об этом?

Заранее спасибо

Ответ 1

Например, представьте, что вы хотите изменить некоторые файлы в Android-источнике для своего устройства (например, вы хотите добавить дополнительную строку в ресурсы Launcher). Не рекомендуется изменять реальные источники Android.

Вместо этого вы создаете наложение, которое имитирует фактический путь к файловой системе Android и помещает туда измененный файл. В случае строки в Laucher вы создаете каталоги, соответствующие пути: packages/apps/Launcher2/res/values и помещаем там измененный strings.xml

Таким образом, при создании вашего устройства этот файл будет заменен.

Ответ 2

Наложения - это способ настройки файлов ресурсов и не работает для исходных файлов.

Замена работ по детализации строк. Это означает, что для строк, которые не существуют в файле оверлей, используется соответствующая строка из оригинала.

Из краткая документация:

Система сборки Android использует наложения ресурсов для настройки продукта во время сборки. Наложения ресурсов определяют файлы ресурсов, которые применяются поверх значений по умолчанию. Чтобы использовать наложения ресурсов, измените файл сборки проекта, чтобы установить PRODUCT_PACKAGE_OVERLAYS в путь относительно вашего каталога верхнего уровня. Этот путь становится теневым корнем, искаженным вместе с текущим корнем, когда система сборки ищет ресурсы.

Наиболее часто настраиваемые параметры содержатся в файле frameworks/base/core/res/res/config.xml.