当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Linux应用程序可以在Android中运行吗?》经验,为你挑选了5个好方法。

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



1> Kristopher J..:

一般来说,没有.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
我认为这不是"间接答案".我理解这个问题的意思是"典型用户可以在Android上安装本机Linux应用程序吗?" 我认为答案是否定的,但显然,由于Android运行在Linux之上,因此运行本机Linux程序.
这是一个相当间接的答案.是的,Android可以运行Java应用程序,因为它是一个随JVM一起提供的Linux发行版.但是,JVM显然本身就是一个本机应用程序,因此至少有一个本机Linux应用程序可以在Android/Linux上运行.
请注意,您可以使用NDK构建android二进制文件,并使用现有的终端仿真器(如connectbot)来避免编写任何Java。Android将执行针对仿生的二进制文件。我为自己创建的一些示例:http://wyatt8740.no-ip.org/android.html-而且,您不需要root。普通用户可以在`/ data / local / tmp`中执行。

2> 小智..:

是的你可以.我使用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或类似的东西.



3> ZacharyP..:

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

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



4> 小智..:

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

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



5> sherif..:

是的你可以 ;-)

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

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


热情好客
推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有