Android學習之 主專案合併Library子專案中的Manifest
阿新 • • 發佈:2019-01-27
一、專案背景:
專案XX是一個按模組化規則來進行開發的,包含主模組A、子模組B、子模組C、子模組D,其中子模組B.C.D都是Library專案,並且都包含有自己的Actity等資原始檔。Android可以通過 library來引用另一個Project,但是通常我們需要把library中activity需要在主Project的manifest檔案重新配置,
如在子模組B中有Activity:ShoppingCartActivity 則在Library B project中的AndroidManifest.xml中會有如下配置:
<activity android:name="com.xxxx.onlineshopping.ui.ShoppingCartActivity" android:windowSoftInputMode="adjustPan" android:screenOrientation="landscape" />
而在主程式A中也需要使用到該Activity,則你是否也會在主程式A中的AndroidManifest.xml中配置下該Activity呢?
如下:
<activity
android:name="com.xxxx.onlineshopping.ui.ShoppingCartActivity"
android:windowSoftInputMode="adjustPan"
android:screenOrientation="landscape" />
其實 這樣是非常麻煩的 同時也是非常不靈活的。會發現我們配置了兩遍同樣的程式碼。那能否有一種方法可以達到合併AndroidManifest.xml配置檔案的作用呢?答案是有的。
二、Manifestmerger屬性的使用:
在主程式的project.properties里加上manifestmerger.enabled=true就可以自動合併library中的manifest了。
如下:# Project target.
target=android-19
manifestmerger.enabled=true
android.library.reference.1=../xxxxB
android.library.reference.2=../xxxxC
android.library.reference.3=../xxxxD
注意:確保主程式的ADT版本、minSdkVersion和targetSdkVersion必須和library一致。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PS:小呂正在不斷的學習中完善自身、希望能與大家一起學習、交流... ...
下面是我的微信公眾號:Ice資訊助手歡迎大家掃一掃關注小呂、一起學習、交流。