首页 > 代码库 > Android Maven打包批量替换资源文件(overlay换皮肤)&AAR打包依赖模块覆盖策略

Android Maven打包批量替换资源文件(overlay换皮肤)&AAR打包依赖模块覆盖策略

1.AAR打包覆盖

主module(APK)会将AAR中同名资源覆盖:

策略如下:

资源文件例如图片,layout是采用覆盖方式。
values文件例如strings.xml是采用合并方式。

有依赖的模块只能采用aar进行打包,例如ui库等二方库。
建议将所有模块共同的resource资源放到通用module中,并且建立相应的命名机制,防重复。

以后如有业务独立的模块可以打成bundle,bundle可以看成一个独立的apk,拥有独立的资源文件

2. maven支持编译时指定res目录,(和Android overlay类似)。具体如下:

                 <artifactId>android-maven-plugin</artifactId>
 
                 <configuration>
+                    <resourceOverlayDirectories>
+                        <dir>res-overlay</dir>
+                    </resourceOverlayDirectories>

在android maven-plugin的configuration节点添加resourceOverlaytDirectioies节点,设置overlay目录。

打包时res-overlay会替换res下的同名资源文件。

可以用来换皮肤,替换不同版本资源文件等。



参考:

https://code.google.com/p/maven-android-plugin/wiki/ApkSourcesDependency

https://code.google.com/p/maven-android-plugin/wiki/Changelog

Android Overlay:

http://my.oschina.net/kingguary/blog/160190

Android Maven打包批量替换资源文件(overlay换皮肤)&AAR打包依赖模块覆盖策略