Linux应用程序可以在Android中运行吗?

Pra*_*u R 48 linux android

Android基于Linux; 可以在Android上运行本机Linux应用程序吗?

Kri*_*son 34

一般来说,没有.Android应用程序通常在沙盒类Java虚拟机中运行,因此必须使用Java或某种编译为使用Android API的虚拟机字节码的语言编写.

但是,虚拟机确实在底层Linux操作系统之上运行,并且有多种方法可以调用本机代码.请参阅https://developer.android.com/tools/sdk/ndk/index.html

因此,尽管在技术上可以运行本机Linux程序,因为在所有内容下运行的Linux内核,大多数用户将无法安装此类应用程序或使用它们.(如果您具有超级用户权限或正在构建自己的固件,那么您可以随心所欲.)

  • 实际上,Android没有配备JVM,它配备了Dalvik VM.Dalvik VM附带了一个Java语言实现,可以编译为Dalvik字节码,但不能编译为JVM字节码.我相信还有一个工具可以将编译JVM字节码转换为dalvik字节码.维基百科(像往常一样)对Dalvik进行了很好的介绍:http://en.wikipedia.org/wiki/Dalvik_virtual_machine (19认同)
  • 我认为这不是"间接答案".我理解这个问题的意思是"典型用户可以在Android上安装本机Linux应用程序吗?" 我认为答案是否定的,但显然,由于Android运行在Linux之上,因此运行本机Linux程序. (4认同)
  • 这是一个相当间接的答案.是的,Android可以运行Java应用程序,因为它是一个随JVM一起提供的Linux发行版.但是,JVM显然本身就是一个本机应用程序,因此至少有一个本机Linux应用程序可以在Android/Linux上运行. (3认同)
  • 请注意,您可以使用NDK构建android二进制文件,并使用现有的终端仿真器(如connectbot)来避免编写任何Java。Android将执行针对仿生的二进制文件。我为自己创建的一些示例:http://wyatt8740.no-ip.org/android.html-而且,您不需要root。普通用户可以在`/ data / local / tmp`中执行。 (2认同)

小智 25

是的你可以.我使用debootstrap在chroot-jail环境中安装了完整的Debian发行版.(你需要一个root设备)我现在正在运行ssh,apache,mysql,php甚至是我的htc-desire下的android下的samba服务器没有问题.可以通过ssh使用远程x服务器运行x应用程序.它甚至运行openoffice.org和firefox.你可以使用这个:http://code.google.com/p/android-xserver/在localhost上运行X-application但是我的HTC-desire有一个小屏幕才能提高效率:-)但它可能对你有用一个Eee Pad Transformer或类似的东西.


Zac*_*ryP 23

Android不运行X Windows,也没有许多标准GNU库.因此,由于大多数本机Linux应用程序需要其中一个或两个,因此大多数都不会运行.

此外,甚至Java程序也可能受到限制,因为编写Android应用程序的Java版本是标准Java库的一个子集.


小智 17

不直接,没有.Android的C运行时库bionic不与大多数Linux发行版使用的GNU libc二进制兼容.

您可以随时尝试重新编译Android的二进制文件并祈祷.


she*_*rif 8

是的你可以 ;-)

最简单的方法是使用它 - > http://www.androidfanatic.com/community-forums.html?func=view&catid=9&id=2248

对于Debian安装脚本,旧的链接已经死了.在Android市场上有一个应用程序,但你需要root

  • 热情好客 (3认同)