gpt4 book ai didi

java - 如何在Android Studio中自定义多个应用程序?

转载 作者:行者123 更新时间:2023-12-02 08:46:38 27 4
gpt4 key购买 nike

我在 Android Studio 中有一个项目和两个不同的应用程序模块,但它们都使用相同的 Android 库(核心代码)。我想更改应用程序中的一些资源和逻辑,但此代码位于核心(Android 库)中。我该如何处理这个问题?如何自定义核心代码?

最佳答案

我一直在问同样的问题question经过一些研究,我发现你有不同的方法:

Gradle 口味:

为什么选择产品口味?

  • 它们解决了应用的每个版本都有单独的项目代码但仍然只有一个项目代码的问题。
  • 假设您有一个免费应用和一个付费应用,您可以限制免费应用中的功能并公开该应用付费版本中的所有其他功能。
  • 考虑到您想要根据国家/地区实现特定于区域的功能的另一种情况,您可以针对此类用例使用产品风格。
  • 白标(这些应用由某家公司开发,并由其他公司重新命名和转售)。

优点

  • 它们解决了为应用程序的每个版本拥有单独的项目代码库的问题。

  • 它们使代码保持整洁,并使浏览代码库变得更加容易和快捷,因为与特定产品风格相关的所有内容都将保存在相应的文件夹中。

缺点

  • (扩展)变体越多,复杂性就越高,从而使维护代码库变得更加困难。-在变体之间切换后,IDE 有时需要一些时间来构建项目。

来源:https://levelup.gitconnected.com/simple-guide-to-android-product-flavors-674106455038

<小时/>

多模块

为什么?

  • 构建时间更快。
  • 细粒度的依赖性控制。
  • 提高其他应用之间的可重用性。
  • 提高代码库的所有权和质量。
  • 与包相比,边界更严格。

优点

  • 随着应用程序随着新功能的发展而扩展
  • 中型到大型开发团队能够在不同的模块上工作而不会相互影响(合并冲突)
  • 将单元和 UI 测试封装到其特定功能
  • 使资源在模块之间保持分离。这提高了可读性和组织性
  • 将逻辑包含在自己的模块中,这些模块可以隐藏在接口(interface)后面
  • 迫使开发人员更好地组织和结构化代码
  • 提高了构建速度,因为模块中的更改意味着仅需要重建该模块

缺点

  • 围绕模块的构造添加额外的样板
  • 总体开发时间更长
  • 每个模块都需要一个 maven/gradle 文件
  • 模块 Activity 之间的导航可能很难正确设置
  • 需要对如何最好地构建代码以及确定共享代码库的存储位置进行更多的预先规划。
  • 展示最佳实践的在线资源数量有限

来源:

另请参阅gradle doc从模块化开始。

关于java - 如何在Android Studio中自定义多个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61039715/

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