Java 如何在Android应用程序中下载功能模块?

Java 如何在Android应用程序中下载功能模块?,java,android,kotlin,android-instant-apps,Java,Android,Kotlin,Android Instant Apps,现在,即时应用是一件事(在我看来,这是一件很棒的事情),我想知道是否有一种方法可以真正下载应用程序的某些部分(模块),以减少APK的初始大小 例如,在我的应用程序中,我有一个模块依赖于第三方库,该库将APK的大小增加了约15 MB,并且它只适用于某些用户,因此我宁愿不将该功能包含在最终APK中,并将其设置为可选 到目前为止,虽然这看起来非常类似于即时应用程序,但我还没有找到解决这个问题的方法,我完全相信许多应用程序都可以从中受益。如果即时应用程序功能需要这个15 MB的库,而您无法进一步缩小它的

现在,即时应用是一件事(在我看来,这是一件很棒的事情),我想知道是否有一种方法可以真正下载应用程序的某些部分(模块),以减少APK的初始大小

例如,在我的应用程序中,我有一个模块依赖于第三方库,该库将APK的大小增加了约15 MB,并且它只适用于某些用户,因此我宁愿不将该功能包含在最终APK中,并将其设置为可选


到目前为止,虽然这看起来非常类似于即时应用程序,但我还没有找到解决这个问题的方法,我完全相信许多应用程序都可以从中受益。

如果即时应用程序功能需要这个15 MB的库,而您无法进一步缩小它的大小,那么你就不能在你的即时应用程序中使用它了。但你还是应该看看这些指南,看看你是否真的可以缩小它的尺寸

如果确实不可能,但您认为您仍然可以继续使用即时应用程序而不使用该大型库,那么您可以构建项目,使该库仅用于已安装的apk(完整应用程序版本),而不用于即时应用程序apk/功能。然后,它将仅由已安装的应用程序模块引用,而不是由功能模块引用

构建功能模块后,每个功能模块都将成为自己的即时应用程序apk,与基础一起下载,并且只有在打开其支持的意图过滤器URL时才能访问


它不适用于即时应用程序,我只是想以此为例。我想要实现的只是下载某些“功能”(不一定是即时应用程序功能),比如说,如果它是游戏的数据链路连接器,那么我就可以缩小APK的大小