2011-02-08 25 views
0

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

我已经设法使用DexClassLoader和反射从下载的dex文件中加载和调用类中的方法。但我能以某种方式使用这种技术来下载和展示一个活动?是否可以以编程方式注册这个新的Activity,以便我可以使用Intent调用它?

我知道这是可能的(推荐的方法是)通过正常的程序安装另一个活动与APK,然后从我的主要活动使用Intents加载它或简单地更新已安装的应用程序,但我想通过下载一些额外的类来扩展我已经安装的应用程序,并在同一个虚拟机,同一个沙箱中执行一切。

嗯,让我知道,如果你不明白我的意思,导致这让有点乱.. :)

回答

1

您好,是否有可能从外部DEX文件加载活动?

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

您可以尝试使用JRuby和Ruboto使用的方法,其中清单中有一个活动会被不同的实现重新利用。我还没有完全解析他们的方法,但我的印象是他们的活动将事件转发给JRuby脚本。在你的情况下,这个活动会把事件转发给从DEX文件加载的其他类。

+0

好的,这就是我的想法。试试看你的建议,谢谢 – Joel 2011-02-08 14:35:41