Android如何实现动态代码加载?

How to achieve Dynamic code Loading in Android?

Objective:

我有一个 android 应用程序(主),我想从中下载(jar、apk 或任何类型的包)并动态加载包并启动我的主 activity从我的主应用程序加载包。

我尝试过的解决方案:

我已关注此博客 post 并尝试使用 DexClassLoader https://medium.com/@kalpeshchandora12/dynamic-code-loading-in-android-dea83ba3bc85#:~:text=DCL(Dynamic%20code%20loading)%20allows,location%20and%20executed%20at%20runtime 加载应用程序。我能够按照所有步骤操作并能够从下载的 apk 加载 class,现在我不知道如何调用已加载 apk 的主要 activity。

我已经关注了这个插件(https://github.com/DroidPluginTeam/DroidPlugin),它告诉我可以从服务器动态加载apk,然后我可以在后台安装它然后可以运行它通过任何通信方法(广播、AIDL 等)但是在使用插件时,我遇到了一个错误(打开 APK 时出现 I/O 错误),它无法打开我的 apk 进行安装。

我不知道我尝试的方法是否正确,我不是 android 人,相反,我是一个团结的人并试图 运行 我的游戏(我有android 个应用程序中几乎有 50 个)。在android项目中没有选择静态加载游戏,因为它会严重增加大小。

请向我推荐一种方法来完成这项任务,或者是否有人可以指导我如何解决我面临的问题。

听起来你需要看看 Feature Delivery