[问题] 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