2017-05-22 35 views
0

我有一个Android应用程序分成几个模块。是Android模块依赖增加apk大小

它是旅行的应用程序,但它会为不同的客户。

与每个客户端可能需要更改酒店或汽车的屏幕,颜色或图像。

因此我将应用程序的每个部分作为库模块。

例如:

APP模块

配置模块>>等基本URL,颜色,Facebook或Twitter秘密密钥等

公用程序模块>>等通知助手,排助手

酒店模块,汽车模块等

在实用程序模块中,我需要一个从配置模块和许多模块depable在配置模块上结束

如果我在生成apk时使得几个模块依赖于Config模块,那么apk大小将会有冗余的Config模块或者有另一种方式来实现我的目标? enter image description here

回答

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在你的代码。建设时,选择编译carhotel的味道,然后你的应用程序将有正确的形象。

它与string.xml例如,或与java类相同。

只是将您的全局代码因式分解在主文件夹中,然后将您的特定代码放在匹配的文件夹中。

+1

我已经使用gradle处理了应用程序的“品牌”,我肯定会推荐这种方法。为了完成这个答案,我会提供一个简单的例子。 – zgc7009

+0

我检查了文档,但我发现它是针对文档中的不同apk版本“Gradle创建共12个版本” – amorenew

+0

@ zgc7009它不仅仅是品牌推广,也许我需要更改飞行布局或汽车屏幕逻辑 – amorenew