我目前正在开发一个Android框架,可以将方法调用委托给服务器(运行JVM),这将执行该方法并返回结果,因此它将在与着名的Java RMI非常相似。我们的团队还有一个实现动态代码加载的计划,这样你就可以在服务器上执行Android类的方法,即使它还不知道那个类的实现(它会首先下载一个对象类的定义)
因此,我试图找出在运行时将Android类导出到服务器的最佳方法。主要问题是Dalvik对*.dex
文件进行操作,这些文件具有不同的结构,并且处理方式与典型JVM执行的*.class
文件不同。
到目前为止,我们一直在考虑在编译源代码时指定dx工具应保留某些*.class
文件。有一个选项--keep-classes
,但它保留了全局类,而我们不需要每个类的*.class
文件。另外,据我所知,没有办法从ADT Eclipse管理dx工具选项。
您认为哪种方法最适合我们?
答案 0 :(得分:0)
如果您将脚本传递给服务器,该怎么办? Java可以在运行时运行脚本,支持python,ruby,javascript等。
见这里: Calling Python from Java through scripting engine (jython)?
在这里: http://www.ibm.com/developerworks/java/library/j-javascripting1/
你仍然需要做一些工作来弄清楚如何传回结果。