[問題] Android Studio 多版本

作者: Ferich (純粹的透明)   2015-05-08 10:26:09
我想要請教一個做法
託了版眾的福
目前實作多版本的可能 到AS上了
想請問一下
因為她的resource 可以分開來放
所以圖與string的部分 都可以切開來
他自己會去找 這是ok的
layout 也可以如法炮製 例如在某個module內
把某button 藏起來
我就複製給那個module 同一個layout 並把button .invisiable掉
but 如果是某種行為呢
我有試著 在Module內 各放一個 mainActivity 他會跳出error
他說發現duplicate 的activity.
就給個例子是 開啟app後 會有個welcome page 兩秒後進一個主畫面
module a 是直接進去主畫面
module b 進入主畫面後會 多一個提醒視窗 按下ok dismiss.
我的作法是在 BuildConfig 設置一個package的字串
宣告在gradle productFlavors內
buildConfigField "String", "Package", "\"Main\""
buildConfigField "String", "Package", "\"Lite\""
然後在主畫面 onCreate()內
多寫一個判斷式
if(!BuildConfig.Package.equals("Lite")) {
MessageShow();
}
這樣.
請問多版本差異的製作 這樣是正確的嗎 還是
我有忽略了AS 某強大的功能
感謝.
作者: ssccg (23)   2015-05-08 10:33:00
如果差別小的話,就這樣作也比較快差別大的話,可以把行為獨立到別的class,在不同flavor用DI
作者: Ferich (純粹的透明)   2015-05-08 10:35:00
因為有很多 這樣的小地方 假設有三個版本 就更多if else了
作者: ssccg (23)   2015-05-08 10:35:00
去設定使用的實作版本,而整個Activity就不一樣的話,不同flavor可以有不同的AndroidManifest話說各module不能再放跟main一樣的class,但是各module應該是可以有同名的class吧,build時只會取其中一份source吧?

Links booklink

Contact Us: admin [ a t ] ucptt.com