Android源代码叠加如何工作?

时间:2011-03-17 14:00:03

标签: android overlay android-source

device/sample文件夹的android源代码中,有一个名为overlays的文件夹。您在例如中看到相同的叠加文件夹cyanogen mods

这个叠加文件夹是什么?它是如何工作的?它是干什么用的?我在哪里可以阅读更多相关信息?

提前致谢

2 个答案:

答案 0 :(得分:4)

例如,假设您要为您的设备修改Android源代码中的某些文件(例如,您希望向Launcher资源添加其他字符串)。建议不要修改Android的实际来源。

而不是这个,你创建覆盖模仿Android的实际文件系统路径布局,并将更改的文件放在那里。如果是Laucher中的字符串,则创建与路径对应的目录:packages/apps/Launcher2/res/values并将修改后的strings.xml

放在那里

因此,当您构建设备时,此文件将被替换。

答案 1 :(得分:4)

重叠是一种自定义资源文件的方法,不适用于源文件。

替换适用于字符串粒度。这意味着,对于覆盖文件中不存在的字符串,将使用原始字符串中的相应字符串。

来自brief documentation

  

Android构建系统使用资源叠加来在构建时自定义产品。资源叠加指定在默认值之上应用的资源文件。要使用资源叠加,请修改项目构建文件以将PRODUCT_PACKAGE_OVERLAYS设置为相对于顶级目录的路径。当构建系统搜索资源时,该路径将成为与当前根一起搜索的影子根。

     

最常用的自定义设置包含在文件框架/ base / core / res / res / config.xml中。