2017-05-22 34 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