我将 Zoom SDK 集成到我的应用程序中。 Zoom Sdk 在构建后向发布 apk 添加了 ~80Mb。但是我的应用程序有很多口味,其中只有一两个真正使用缩放。所有其他应用程序都在不使用缩放功能的情况下发布。
我想以某些方式从我的最终 apk 中排除所有缩放代码,以节省小尺寸的 apk。怎么做?如果您建议我在 apk 组装过程中排除缩放模块的解决方案,那就太好了。
更新:
缩放不直接包含在应用程序中,它通过其他核心模块传递: app<--core<--zoom
我无法读取核心模块内的应用程序风格。我希望有一个可以实现 core
的解决方案在构建 apk 期间,依赖于包含或排除缩放模块的参数类型。有点:
implementation project(":core", withZoom = true)
或者
def coreModule = project(":core")
coreModule.setParam("zoom", true)
implementation coreModule
最佳答案
您可以为特定风格定义依赖关系。在此处查看此 SO-post:
How to define different dependencies for different product flavors
因此,您可以仅为需要它们的两种口味添加缩放依赖项。
另一种方法是使用带有on-demand delivery 的android 动态功能模块交付。 .
这允许您仅在您的应用程序请求时才下载模块。由于您的缩放模块的大小将大于 10 MB,因此用户会看到一个系统对话框,询问是否可以下载该功能。这对于用户体验来说并不是很好,但它是一种为其他风格减小应用程序大小的方法。
在此处查看如何使用动态功能模块:https://developer.android.com/guide/app-bundle/dynamic-delivery
关于android - 从 Android Studio 中的 apk 中排除模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61867668/