我目前正在开发一个 Android 框架,该框架可以将方法调用委托给服务器(运行 JVM),服务器将执行方法并返回结果,因此它将以非常相似的方式运行到著名的 Java RMI。我们的团队也有一个实现动态代码加载的计划,这样即使它还不知道类的实现,你也可以在服务器上执行 Android 类的方法(它会先下载对象类的定义) .
因此,我试图找出在运行时将 Android 类导出到服务器的最佳方式。主要问题是,Dalvik 对*.dex
具有不同结构的文件进行操作,并且与*.class
典型 JVM 执行的文件的处理方式不同。
到目前为止,我们一直在考虑指定 dx 工具*.class
在编译源代码时应该保留某些文件。有这样一个选项--keep-classes
,但它会全局保留类,而我们不需要*.class
每个类的文件。此外,据我所知,没有办法从 ADT Eclipse 管理 dx 工具选项。
您认为哪种方法最适合我们?