【发布时间】:2014-08-07 05:40:06
【问题描述】:
现在请稍等片刻,然后再将其标记为重复,因为这是一个非常具体的问题。
我不是在问您是否可以使用另一种语言编写应用程序,该语言是使用 NDK 的绑定;我想知道的是:
- 在硬件层面,dalvik 如何与 android 设备上的 Linux 内核交互?
根据我的理解,(1) 的答案是,因为 android 本质上是一个 Linux 系统,所以这是通过系统调用完成的。也就是说,在某种程度上,davlik/art VM必须通过 C API 与 C Linux 内核交互。
- 如果您在设备上拥有 root 权限,为什么您不能从本机系统二进制文件中执行相同的操作?
所以,这当然会是一个痛苦的经历,但技术上有什么理由不能完全用 C 语言编写应用程序,而不使用 android 运行时?
(注意:不是没有运行时;显然运行时必须存在才能执行各种操作,例如设备初始化;但是一个独立的二进制文件,不与运行时交互)。
(我可以想到可能出现这种情况的几个原因,特别是运行时需要对各种硬件进行独占硬件访问,但我找不到任何关于它的具体文档)
【问题讨论】:
-
你到底想做什么...?
-
@elcuco 实际上什么都没有;有人在 SDL 邮件列表上问的是:您能否使用嵌入式 android 并利用 android 设备驱动程序而不通过 android 运行时与它们进行交互。我直接的直觉是不……但试图证明这一点,我找不到任何具体的理由来解释为什么答案是否定的。
-
你不能这样做。所有设备都通过相应的守护进程进行管理。您不能(通常)打开第二个句柄。
标签: android