Как работает наложение источника Android? - PullRequest
12 голосов
/ 17 марта 2011

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

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

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

Ответы [ 2 ]

4 голосов
/ 03 мая 2017

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

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

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

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

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

4 голосов
/ 28 февраля 2012

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

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

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

...