作者Ferich (纯粹的透明)
看板AndroidDev
标题[问题] Android Studio 多版本
时间Fri May 8 10:26:09 2015
我想要请教一个做法
托了版众的福
目前实作多版本的可能 到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 某强大的功能
感谢.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.141.149.96
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1431051973.A.4C3.html
1F:→ ssccg: 如果差别小的话,就这样作也比较快 05/08 10:33
2F:→ ssccg: 差别大的话,可以把行为独立到别的class,在不同flavor用DI 05/08 10:34
3F:→ Ferich: 因为有很多 这样的小地方 假设有三个版本 就更多if else了 05/08 10:35
4F:→ ssccg: 去设定使用的实作版本,而整个Activity就不一样的话,不同 05/08 10:35
5F:→ ssccg: flavor可以有不同的AndroidManifest 05/08 10:36
6F:→ ssccg: 话说各module不能再放跟main一样的class,但是各module应该 05/08 10:51
7F:→ ssccg: 是可以有同名的class吧,build时只会取其中一份source吧? 05/08 10:51