相关疑难解决方法(0)

如何在产品风味中使用不同的启动器活动?

我正在开发一个Android库项目,在默认的src/main/AndroidManifest.xml中,MainActivity是启动器活动.

为了别的原因,我创造了产品口味.是的,如果我想在不同的产品口味中触发/显示不同的活动炎,它是完美的.不过,我想保持默认的启动活动的src/main /文件夹,而登录其他口味的活动为新的发射活动.因此,对于不同的产品风格,我可以有不同的启动器活动,从中我仍然可以在src/main /中启动原始的"启动器"活动.

有人可以告诉我如何实现这一目标吗?非常感谢.

笔记:

  1. if (BuildConfig.FLAVOR.equals("flavorName"))不希望向原始启动器活动添加代码.因为我不想从别人那里修改生产代码(这是一个库项目).

  2. 我试过manifestmergertools:replace,但好像它不工作intent-filter(我注意到,对于意图过滤器的元素融合政策总是).

<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />

如果这可能有效,请您指导我如何使其工作?谢谢.

android android-manifest android-intent android-productflavors

22
推荐指数
2
解决办法
9147
查看次数

Gradle混合构建风味

有没有办法在 gradle 中“混合”多种口味?

例如,假设我有两种口味:RedBlue。现在假设我有两种口味,我希望它们具有(子口味,如果你喜欢):ComplexSimple.

到目前为止我所知道的是,这需要我创建四种口味:Red-Complex, Red-Simple, Blue-Complex, Blue-Simple

我不清楚这应该如何在项目中构建。如何定义RedRed-Complex和之间共享Red-SimpleComplex代码,但也有在Red-Complex和之间共享的代码Blue-Complex?我不想在口味之间复制/粘贴代码。

在gradle中实现这一目标的最佳方法是什么?

android gradle

6
推荐指数
1
解决办法
337
查看次数

Android Manifest如何通过Flavor Activity替换Activity

如何使用manifest命令"replace"通过具有相同名称但在flavor包中的活动替换主包中的活动?

com.name.project/main/
-ActivityA
Run Code Online (Sandbox Code Playgroud)

替换为

com.name.project/pro/
-ActivityA
Run Code Online (Sandbox Code Playgroud)

merge android manifest android-productflavors

5
推荐指数
1
解决办法
1206
查看次数