我有一个Android应用程序分成几个模块。
它是旅行应用程序,但它将适用于不同的客户。
每个客户都可能需要更改酒店或车载屏幕,颜色或图像。
所以我将应用程序的每个部分都作为库模块。
例如:
应用模块
配置模块>>像基本URL,颜色,脸书或推特密钥等
实用程序模块>>喜欢通知助手,排球助手
酒店模块,汽车模块等
在实用程序模块中,我需要一个来自config模块的drawable,许多模块依赖于config模块
如果我在生成apk时依赖Config模块制作几个模块,那么apk大小会有冗余的Config模块还是有另一种方法来实现我的目标?
答案 0 :(得分:1)
也许您可以使用gradle构建变体。
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
https://developer.android.com/studio/build/build-variants.html
因此,您的全局体系结构位于普通文件夹中,不同文件位于匹配文件夹中。
例如:
app
| - src
| - main
| | - java
| | - com.xxxx.yy
| | your code
|
| — car
| | - java
| | | - com.xxxx.yy
| | | specificClass.java
| | - res
| | - drawable
| | - main.png
|
| - hotel
| - java
| | - com.xxxx.yy
| | specificClass.java
| - res
| - drawable
| - main.png
然后你可以在你的代码中调用你的main.png img。构建时,选择使用car
或hotel
风格进行编译,然后您的应用就会拥有正确的图像。
例如,它与string.xml
或java类一样。
只需将您的全局代码分解为主文件夹,然后将您的特定代码放入匹配文件夹中。