是否可以从外部dex文件加载活动?我正在考虑一些插件式架构,可以通过下载包含额外功能的活动和类的dex文件来扩展应用程序。
我设法使用DexClassLoader和反射从下载的dex文件加载和调用类的方法。但我可以以某种方式使用此技术来呈现下载并呈现活动吗?是否可以以编程方式注册这个新的Activity,以便我可以使用Intent调用它?
我知道(通过推荐的方式)可以通过常规程序使用APK安装其他Activity,然后使用Intents从我的主要活动加载它,或者只是更新已安装的应用程序,但我想扩展我已安装的应用程序通过下载一些额外的类并在同一个VM,同一个沙箱中执行所有操作。
嗯,如果你不明白我的意思,请告诉我,因为这有点乱......:)答案 0 :(得分:2)
如果您使用相同的密钥对自己的APK进行签名,则可以安排所有应用程序share UID, process, and VM。不要试图自己动态加载.dex文件,它会很快变得混乱。
答案 1 :(得分:0)
您可以使用createpackagecontext中的classloader从另一个apk加载类。