Android是基于Linux; 可以原生Linux应用程序可以运行在Android?
Answer 1:
在一般情况下,没有。 Android应用程序通常运行在沙盒类似Java的虚拟机,所以在Java或编译为使用Android的API虚拟机字节码的一些语言来编写。
但是,虚拟机不会在底层Linux操作系统上运行,并且有一些方法可以调用本地代码。 见https://developer.android.com/tools/sdk/ndk/index.html
所以,虽然在技术上可以运行本地Linux程序,因为有一个Linux内核上运行一切之下,大多数用户将无法安装这样的应用或使用它们。 (如果你有root权限或正在建设自己的固件,那么你可以做任何你想要的。)
Answer 2:
是的你可以。 我已经安装使用的debootstrap在chroot-监狱环境的完整Debian发行版。 (您需要一个植根设备)现在我就没有问题,我的HTC-欲望运行SSH,Apache,MySQL和PHP甚至samba服务器下的机器人。 这是可能通过ssh使用远程X服务器上运行X应用程序。 它甚至可以运行openoffice.org和Firefox。 您可以使用此: http://code.google.com/p/android-xserver/ localhost上运行的X应用程序,但我的HTC-渴望有一个小屏幕是生产力:-)但它可能是有用的一Eee Pad的变压器或类似的东西。
Answer 3:
Android不运行的X Windows,也不会有很多标准的GNU库。 所以,既然大部分本地Linux应用程序都需要一个或两个的这些,大多数将无法运行。
此外,即使Java程序可以是有限的,因为Android应用程序是用Java的版本是标准的Java库的子集。
Answer 4:
不是直接的,没有。 Android的C运行时库,仿生,是不是二进制与GNU libc中,其中大多数Linux发行版使用兼容的。
你可以尝试重新编译的二进制文件Android和祈祷。
Answer 5:
是的你可以 ;-)
最简单的方法是使用这个- > http://www.androidfanatic.com/community-forums.html?func=view&catid=9&id=2248
旧的链接已经死了它是一个Debian安装脚本有在Android Market上的一个应用程序,但你需要根
Answer 6:
我觉得这篇文章可以提供一个解决方案: Linux的今天-编译,安装和运行Linux的Android应用
希望能帮助到你。
Answer 7:
你可以在Linux上运行的ARM交叉编译器在这里 。 您也可以下载Android NDK和编译一些命令行应用程序。 我没有使用C ++与任何一个解决方案的任何个人的经验,但我已经编译既一些简单的事情。 这是我的理解是,NDK是不是一个完整的C ++编译器为有市民投诉,它不会编译一些常见的C ++代码。
需要注意的是,因为我是新用户,我不能发布的NDK链接...:/
Answer 8:
机器人只能使用Linux内核,这意味着GNU工具链像gcc作为没有在android系统中实现,所以如果你想运行在Android上的Linux应用程序,您需要使用谷歌的工具链(NDK),重新编译。
Answer 9:
是的,我已经做到了这几个根深蒂固的机器我设置由DD一个SD卡在Debian Linux操作系统。 我复制此脚本http://jeanmichel.gens.free.fr/etc/install上/系统/箱
我还没有成功运行的Xserver,但我可以通过Android应用程序的Xserver使用XWindows二进制
我可以运行与更新我的Debian apt-get的升级,运行与PHP的Apache服务器,运行SSH服务器和终端上的所有二进制文件,包括用户管理,我也旗语处理一个问题,如果你有任何问题请与我联系
Answer 10:
是的,他们可以,如果他们的手臂在Linux下编译第一或使用交叉编译器。 Debian的手臂多才多艺的作品,还有手臂,EABI下的x86的Linux编译武装Linux操作系统。
Answer 11:
是的他们可以。 如果你没有一个根深蒂固的手机/平板电脑,那么你可以下载c4droid 这里来编译应用程序。 然后,你可以下载凯文·布恩的KBOX 这里来运行程序。
Answer 12:
该死的,当然是的,有几个限制。
Android是一个有点特殊的Linux发行版,没有通常的SUFF像X11,你不能用apt-get安装的Apache2。 但如果你有ARM交叉编译器,您可以将您的ELF文件复制到设备,并从终端应用程序运行它,或者如果你已经安装了一些SSHD的应用程序,你甚至可以使用SSH从您的台式机/笔记本访问Android设备。
要复制并启动一个本地Linux可执行文件,你有没有根您的设备。 这一点,我在哪里,我编译我自己的小Web服务器到Android(也为webOS的),它运行,哈利路亚。
总会有问题,我不能回答:
我的小Web服务器只使用STDLIB和并行线程。 我不知道如何使用(本地Linux)库自带Android平台来说,有用的,altough,我生活中可以没有他们。
现在我可以用手从终端应用程序启动我的应用程序。 但我不知道,什么是到Android部署这样的本机应用程序的最佳途径。 我想我应该是写一个小的Android应用程序,这将启动服务器,不要让系统自动停止(比如说,像音乐播放器不会导致死亡)。 此外,如果它的服务,它应该以某种方式开始启动。 我不熟悉的Android。
Answer 13:
简短的回答,没有。 长的答案,你可以,如果你安装一些软件运行Linux应用程序。
为了避免生根您的设备,你可以尝试GnuRoot和XSDL组合来获得一个最小的chroot环境,(实际上,它使用PROOT使无根chroot的监狱),或得到Debian的NOROOT应用程序,它在结合了前两种应用单个虚拟机环境。 两者都可以从谷歌播放来取。
然而,有一些缺点:第一,通过XSDL和DNR捆绑在一起的X11服务器是围绕SDL库和SurfaceFlinger的的Android的端口缠绕的兼容层。 这意味着,硬件加速的OpenGL图形暂无数据,甚至声音支持需要一些黑客。 因此,笔者选择一个简单的桌面环境:XFCE4适用于低memmory并没有3D的支持。 第二个问题是直接接取硬件的DNR虚拟机不兼容,因为它需要真正的root权限。 所以你不能使用USB电缆刻录DVD,打印,......即使笔者的项目,可以保证在未来的一个解决方法。 最后,这种解决方案使安装LibreOffice的一样,瘸子,桑巴,用户空间程序...不是内核空间模块。
即使有这样的限制,DNR是一个非常强大的程序。
Answer 14:
旁边的Android bacause Android是基于Linux内核,您可以安装chroot的Linux发行版。 如果你的手机是不是植根,你可以使用fakeroot的(最简单的方法是使用Debinan非根应用程序),即使GUI(与Android的X服务器的应用程序或通过VNC)。 如果你有一个根深蒂固的手机,你可以安装几乎全功能的分布。
我认为最好的性能,你可以在Gentoo达到至少局限性,因为所有的软件编译为原生ARM架构,这是最灵活的,但不是最容易的。 你可能有兴趣在这个岗位如何在Android上安装Gentoo 。