gpt4 book ai didi

android - 如何避免将 Android 应用程序拆分为模块的 Assets 冗余?

转载 作者:行者123 更新时间:2023-11-29 20:13:37 24 4
gpt4 key购买 nike

我打算将我的应用按功能拆分成一组独立的模块。许多功能(我的新设计中的模块)共享图像 Assets 和字符串常量。

如果我在 main/app 模块中添加可重用 Assets ,那么即使我不包含使用它们的模块,它们也会被编译到 APK 中。如果我将可重用 Assets 添加到所有模块,那么我将面临冗余带来的所有问题。

将应用拆分为模块的正确方法是什么?我设计的最终目标是在构建阶段启用/禁用任何功能(通过 build.gradle)。

最佳答案

假设我们有应用 A 和库 L1、L2 和 L3。 L1 和 L2 共享一些公共(public)资源和/或 Assets 。从生产的角度来看,无论如何只会包含这些公共(public)资源和/或 Assets 的一个副本,但从开发的角度来看,冗余是不好的(例如,确保您更改两个副本)。

因此,我将创建一个资源模块 Mfoo,其中包含那些公共(public)资源和/或 Assets 。让 L1 和 L2 依赖于 Mfoo。 A 的不同产品 flavor (?)取决于 L1、L2 和 L3 的各种混合。只会使用 Mfoo 的一个副本,因为 Gradle 会清除传递依赖项。这与 L1 和 L2 没有什么不同,两者都取决于 support-v13

当然,根据您拥有的库数量和共享内容的组合,您可以在此处进入 Michael Bay 级别的组合“爆炸式增长”。

关于android - 如何避免将 Android 应用程序拆分为模块的 Assets 冗余?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34406365/

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