Android:从外部索引加载活动

Android:从外部索引加载活动,android,reflection,android-activity,sandbox,dex,Android,Reflection,Android Activity,Sandbox,Dex,是否可以从外部dex文件加载活动?我正在考虑一些插件式的体系结构,其中可以通过下载包含额外功能的活动和类的dex文件来扩展应用程序 我已经使用DexClassLoader和reflection从下载的dex文件中加载并调用了类上的方法。但是我能不能用这种技术下载并展示一个活动?是否可以通过编程方式注册此新活动,以便我可以使用意图调用它 我知道有可能(推荐的方法是)使用APK通过正常过程安装其他活动,然后使用Intents从我的主活动加载它,或者简单地更新已安装的应用程序,但是我想通过下载一些额外

是否可以从外部dex文件加载活动?我正在考虑一些插件式的体系结构,其中可以通过下载包含额外功能的活动和类的dex文件来扩展应用程序

我已经使用DexClassLoader和reflection从下载的dex文件中加载并调用了类上的方法。但是我能不能用这种技术下载并展示一个活动?是否可以通过编程方式注册此新活动,以便我可以使用意图调用它

我知道有可能(推荐的方法是)使用APK通过正常过程安装其他活动,然后使用Intents从我的主活动加载它,或者简单地更新已安装的应用程序,但是我想通过下载一些额外的类来扩展我已经安装的应用程序,并在同一个VM、同一个沙箱中执行所有操作

嗯,如果你不明白我的意思,请告诉我,因为这有点混乱……)

您好,可以从外部dex文件加载活动吗

不完全是。活动必须在应用程序的清单中预定义


您可以尝试使用JRuby和Ruboto使用的方法,其中清单中有一个活动可以通过不同的实现重新调整用途。我还没有完全剖析他们的方法,但我的印象是他们的活动将事件转发给JRuby脚本。在您的例子中,活动会将事件转发到从DEX文件加载的其他类。

是的,好的,这就是我的想法。将尝试一下您的建议,thanksRuboto通过反射将dex路径加载到框架的
DexPathList
:这不是一个很好的解决方案,但是考虑到Dalvik路径类加载器也做同样的事情,我想没问题。