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

标签 java android rmi

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

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

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

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

最佳答案

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

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

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

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

关于java - Android 和运行 JVM 的服务器之间的动态代码加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15955382/

相关文章:

android - 按钮文本不是多行

java - 如何确定 Java 应用程序速度慢的原因

java - 将新数据从 Java 程序发送到 Web 浏览器

android - 如何在android中使用水平 "material progressindicator"?

java - ThreadPoolExecutor$Worker 中的奇怪代码

android - 是否可以在 Android 设备上运行容器?

java - ScheduledThreadPoolExecutor实时改变任务

java - 如何为 RMI 注册表设置自定义端口?

java - 从线程启动一个 Activity

java - 获取网页内容