我很想知道IPC机制对外界的影响程度。也就是说,如果我想冒充dalvik虚拟机实例而没有让我的应用程序实际用Java编写,我是否可以这样做,或者下次我从屏幕上移开时协议是否会改变?如果允许,有什么稳定性保证或缺乏保证?有什么像文档,或者我只是想阅读android.git.kernel.org上的优秀资源?
这一切的目的是用Java语言编写应用程序,同时保留构建GUI的能力。我不关心或介意代码是否在技术上作为JNI标注在dalvik进程中,我感兴趣的是“如果我真的擅长假装我是通过线路的Java,我能做什么实际的Java代码可以吗?或者有什么东西只能用作Java字节码而不是其他东西吗?“
答案 0 :(得分:1)
这一切的目的都是为了 用Java语言编写应用程序 保留建设的能力 的GUI。
只有Dalvik VM字节码能够构建GUI。该字节码不一定必须是Java - 例如,它可能来自Scala。但它必须由VM运行字节码。
Android IPC机制基于OpenBinder,用于粗粒度的东西,而不是GUI。 FWIW,JNI,通过NDK,本身不使用IPC - JNI表示库调用,而不是进程间调用。
所以,当你问:
如果我真的善于假装我 Java,通过电线,我可以做 一切实际的Java代码都可以吗?
是的,但仅适用于“通过网络”完成的事情。由于性能原因,浩大的大部分Android应用程序都没有“通过线路”处理。