作者dokinkon (doki)
看板AndroidDev
标题[问题] productFlavor问题请教
时间Tue May 31 11:40:09 2016
最近有一个案子客户的需求是希望产出两个不同的App,
但大部分的SourceCode都会共用
因此直觉想到了利用productFlavor机制来达成这个需求
因为原本的sourceTree没有加上productFlavor
因此所有的.java and res都在/app/src/main底下
整个专案有一个启动的Activity叫做SplashActivity,
用来显示客户商标,并且做一些基本的初始化流程
昨天在build.grade里面加上了两个flavor,分别为product/internal
其中product就是用来上架给一般消费者用的,
internal则是给对方工程师测试用的版本
但是自从我加上这两个Flavor之後,常常会遇到
Error type 3
Error: Activity class {com.aa.bb/com.aa.bb.SplashActivity} does not exist.
Error while Launching activity
其中com.ad.bb就是原本的packageName
上网看了一下说明,在Gradle环境底下,
可以指定不同的applicationId但是packageName共用
所以我也尝试了在将productFlavor的applcationId = com.aa.bb
internal的applicationId = com.aa.bb.internal
希望可以同时安装product/internal两个App在同一支手机上
但我发现自从加上flavor之後,老是会遇到上面贴的那个错误,
我去看我的手机,发现Apk也没有正确安装进去....
我不知道是不是漏了什麽步骤,还请有经验的大大能给一点提示
感恩
更新:
---------------------------------------------------------------------
在Manifest里面的SplashActivity是这样定义的:
<activity
android:name=".SplashActivity"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
另外SplashAcitivity.java位於
/app/src/main/java/com/aa/bb/SplashActivity.java
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.45.180.179
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1464666011.A.C89.html
1F:→ ssccg: 你的Manifest里怎麽写的? 你现在SplashActivity.java放哪 05/31 11:51
※ 编辑: dokinkon (114.45.180.179), 05/31/2016 12:05:19
2F:→ ssccg: 刚没看到apk也没出来,那应该是clean专案 05/31 14:24
3F:→ ssccg: 再不行就重开AS、Invalidate Cache或砍掉.gradle这些试试 05/31 14:27