【问题标题】:How to use same class but different implementation in android multi flavor project如何在android多风味项目中使用相同的类但不同的实现
【发布时间】:2021-05-29 19:27:56
【问题描述】:

我有 3 种口味。

风味1

风味2

风味3

和 MainActivity 适用于所有口味。我希望风味 1 和风味 2 的实现相同,风味 3 的实现不同。如果我在 flavor3/java/com/sample/MainActivity 中添加单独的 MainActivity,它会显示“Duplicate class found in the file”并且文件夹结构如下。

main/java/com/sample/MainActivity

风味1

风味2

flavor3/java/com/sample/MainActivity

是否需要添加所有风格的 MainActivity?

喜欢:

主要/

flavor1/java/com/sample/MainActivity

flavor2/java/com/sample/MainActivity

flavor3/java/com/sample/MainActivity

但是每次我必须在风味 1 发生变化时更新并在风味 2 中进行更改时都会这样做。有什么解决办法吗?

【问题讨论】:

    标签: java android android-build-flavors android-flavors build-variant


    【解决方案1】:

    我需要添加所有风格的 MainActivity 吗?

    是的。

    但是每次我必须在风味 1 发生变化时更新并在风味 2 中进行更改时都这样做。有什么解决办法吗?

    MainActivity 尽可能小,根据需要委派给其他类。因此,MainActivityflavor1flavor2 实现可能会委托给驻留在 main 中的其他类,而 MainActivityflavor3 实现会做其他事情。

    【讨论】:

    • 或者有一个 MainActivity 类扩展的 BaseActivity。您的大部分代码更改都应该在 BaseActivity 中进行,您一切顺利。如果这只是不同配置值的问题,那么考虑将它们放在 BuildConfig 中并只保留一个 MainActivity
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 2023-03-15
    • 2015-04-12
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多