gpt4 book ai didi

java - 类里面的良好实践 Gradle flavor

转载 作者:行者123 更新时间:2023-12-03 06:15:06 25 4
gpt4 key购买 nike

我正在寻找有关如何使用gradle样式定义Android应用程序行为的信息。

Let's say I want to start a new activity in my flavor1 and not in my flavor2.



由于gradle不会相互覆盖类,

我必须定义每种口味的 Activity
app/src/
|-> flavor1/java/<package>/Activity.java
|-> flavor2/java/<package>/Activity.java
|-> main/java/<package>

或者,在我的主文件夹中定义它,并在Constant类中使用一个枚举,如果我属于我的flavor1或我的flavor2,则返回该枚举
app/src/
|-> flavor1/java/<package>/Constant.java
|-> flavor2/java/<package>/Constant.java
|-> main/java/<package>/Activity.java

我的猜测是我必须混合使用两种解决方案:
  • 如果我想在flavor1中创建唯一的 Activity ,则必须在flavor2中创建相同的类,也许只是throw RuntimeException("stub!")
  • 如果要从main调用此 Activity ,则必须使用类似if (Constant.getFlavor() == flavor1)

  • 我认为,这是使用gradle口味的最酷方法。但是我想确定,到目前为止,没有其他最佳方法可以在最终实现之前对其进行处理。

    有没有人在博客上写过一些东西或想发表自己的看法?我很想读你!

    提前致谢!

    最佳答案

    您可以在每种口味上放置不同的AndroidManifest文件。例如,您可以在flavor1内定义(让我们称呼它)可选的Activity,在flavor1内扩展可选的Activity的Class,您就完成了!请注意, flavor AndroidManifest文件必须仅指定与主要AndroidManifest的区别:在这种情况下,您应该仅包含<activity/>(当然在空<application/>中)

    关于java - 类里面的良好实践 Gradle flavor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31478653/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com