Linux应用程序可以在Android中运行吗?
Android是基于Linux的;本机Linux应用程序可以在Android上运行吗?一般来说,不能。Android应用程序通常在沙盒式Java虚拟机中运行,因此必须用Java或某种语言编写,以编译成使用Android API的虚拟机字节码 然而,虚拟机确实运行在底层Linux操作系统之上,并且有一些方法可以调用本机代码。看Linux应用程序可以在Android中运行吗?,android,linux,Android,Linux,Android是基于Linux的;本机Linux应用程序可以在Android上运行吗?一般来说,不能。Android应用程序通常在沙盒式Java虚拟机中运行,因此必须用Java或某种语言编写,以编译成使用Android API的虚拟机字节码 然而,虚拟机确实运行在底层Linux操作系统之上,并且有一些方法可以调用本机代码。看 因此,虽然从技术上讲,运行本机Linux程序是可能的,因为在所有东西下面都运行着Linux内核,但大多数用户将无法安装或使用此类应用程序。(如果您有root访问权限或正在构
因此,虽然从技术上讲,运行本机Linux程序是可能的,因为在所有东西下面都运行着Linux内核,但大多数用户将无法安装或使用此类应用程序。(如果您有root访问权限或正在构建自己的固件,那么您可以做任何您想做的事情。)Android不运行X Windows,也没有许多标准GNU库。因此,由于大多数本机linux应用程序需要其中一个或两个,因此大多数不会运行
此外,甚至Java程序也可能受到限制,因为编写Android应用程序的Java版本是标准Java库的一个子集。不是直接的,不是。Android的C运行库bionic与大多数Linux发行版使用的GNU libc不兼容二进制
你可以尝试为Android和pray重新编译你的二进制文件。是的,如果它们首先在arm linux下编译或使用交叉编译器编译,它们可以。Debian arm万能工程,还有用于在x86 linux下编译到arm linux的arm eabi。您可以获得在linux上运行的arm交叉编译器。 您还可以下载Android NDK并编译一些命令行应用程序。 我没有任何使用C++的个人经验,但是我已经用两种方法编译了一些简单的东西。据我了解,NDK不是一个完全的C++编译器,因为有人抱怨它不能编译一些普通的C++代码。 请注意,由于我是新用户,我无法发布NDK链接…:/ 是的,你可以;-) 最简单的方法是使用此-> 旧的链接已经失效了,它是针对Debian安装脚本的,android市场上有一个应用程序就是这样的
但是你需要root,android只使用linux内核,这意味着像gcc as这样的GNU工具链没有在android中实现,所以如果你想在android中运行linux应用程序,你需要用谷歌的工具链(NDK)重新编译它。是的,你可以。我已经在chroot-jail环境中使用debootstrap安装了一个完整的Debian发行版。(您需要一个根设备) 我现在在htc desire上运行ssh、apache、mysql、php甚至android下的samba服务器,没有任何问题。 可以通过ssh使用远程x服务器运行x应用程序。它甚至运行openoffice.org和firefox。
您可以使用以下方法:在本地主机上运行X-application,但我的HTC需要一个小屏幕以提高效率:-),但它可能在Eee Pad Transformer或类似的设备上非常有用。是的,他们可以。如果你没有根手机/平板电脑,那么你可以下载c4droid来编译你的应用程序。然后,您可以下载Kevin Boone的KBOX来运行该程序。当然可以,但有几个限制 Android是一种特殊的Linux发行版,没有像X11那样的suff,并且不能用apt get安装Apache2。但是如果你有ARM交叉编译器,你可以将你的ELF文件复制到设备上,然后从终端应用程序运行它,或者如果你安装了SSHD应用程序,你甚至可以从桌面/笔记本电脑上使用SSH来访问Android设备 若要复制并启动本机Linux可执行文件,您没有根设备。这就是问题所在,我已经将自己的微型Web服务器编译成Android(也适用于webOS),它运行着,hallelujah 问题来了,我无法回答:
我认为本文可以提供一个解决方案:
希望有帮助。简短回答,不。 回答很长,若你们安装了一些软件,你们可以运行Linux应用程序 为了避免设备根化,您可以尝试GnuRoot和XSDL组合来获得一个最小的chrooted环境(实际上,它使用proot来启用无根chrooted jail),或者获得Debian Noroot应用程序,该应用程序将前两个应用程序组合在一个虚拟机环境中。 两者都可以从Google Play获取 然而,也有一些缺点:首先,XSDL和DNR捆绑的X11服务器是一个兼容层,围绕着SDL库和SurfaceFlinger的Android端口。 这意味着,硬件加速的OpenGL图形不可用,甚至声音支持也需要一些技巧。因此,作者选择了一个简单的桌面环境:XFCE4,适用于低内存且不支持3D。 第二个问题是直接硬件访问的DNR虚拟机的不兼容性,因为它需要真正的根权限。所以你不能刻录DVD,用USB电缆打印,。。。即使是作者的项目也有可能在未来找到解决办法。 最后,此解决方案允许安装用户空间程序,如LibreOffice、Gimp、Samba等,。。。而不是内核空间模块
即使有这样的限制,DNR也是一个功能强大的程序。是的,我已经在多台根机器上完成了这项工作 我通过dd在SD卡上设置了DebianLinux。 我在/system/bin上复制此脚本 我还没有成功运行Xserver,但我可以通过android Xserver应用程序使用xwindows二进制文件 我可以运行update