Android与运行JVM的服务器之间的动态代码加载

时间:2013-04-11 17:42:56

标签: java android rmi

我目前正在开发一个Android框架,可以将方法调用委托给服务器(运行JVM),这将执行该方法并返回结果,因此它将在与着名的Java RMI非常相似。我们的团队还有一个实现动态代码加载的计划,这样你就可以在服务器上执行Android类的方法,即使它还不知道那个类的实现(它会首先下载一个对象类的定义)

因此,我试图找出在运行时将Android类导出到服务器的最佳方法。主要问题是Dalvik对*.dex文件进行操作,这些文件具有不同的结构,并且处理方式与典型JVM执行的*.class文件不同。

到目前为止,我们一直在考虑在编译源代码时指定dx工具应保留某些*.class文件。有一个选项--keep-classes,但它保留了全局类,而我们不需要每个类的*.class文件。另外,据我所知,没有办法从ADT Eclipse管理dx工具选项。

您认为哪种方法最适合我们?

1 个答案:

答案 0 :(得分:0)

如果您将脚本传递给服务器,该怎么办? Java可以在运行时运行脚本,支持python,ruby,javascript等。

见这里: Calling Python from Java through scripting engine (jython)?

在这里: http://www.ibm.com/developerworks/java/library/j-javascripting1/

你仍然需要做一些工作来弄清楚如何传回结果。