linuxandroid
⑴ 如何在ubuntu等linux电脑上安装android应用
在Ubuntu等Linux电脑上安装Android应用,当前主要通过几种方法实现。第一种方法是使用ARChon Runtime for Chrome。然而,由于兼容性问题,能用的apk数量有限,特别是对于QQ和微信等应用。第二种方法是使用ARC+。相比ARChon,ARC+的兼容性有所提升,但只能在Google制作的ChromeOS上运行,无法在普通的GNU/Linux系统上运行。原因在于ARC+做了大量改动,本质上是在Linux内核上同时运行一个GNU/Linux、Chrome以及一个修改版的Android,因此无法在普通的Linux系统中的Chrome中运行。还存在一些Android虚拟机模拟器开发环境的选择,这些工具为在Linux上运行Android应用提供了便利。最后,还有Shashlik | Android Simulated Environment这个项目,虽然已经趋于死亡,但仍然为部分用户提供了一种解决方案。总体而言,这些方法各有优劣,用户需根据自身需求和系统环境选择合适的方案。
⑵ android和Linux的区别
有以下三点区别:
1、Android没有本地窗口系统,而Linux是有X窗口系统。
2、Android没有glibc支持,而Linux是有glibc支持的。
3、Android是有自己专有的驱动程序。
虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别。
(2)linuxandroid扩展阅读
Android专有的驱动程序
1、Android Binder 基于OpenBinder框架的一个驱动,用于提供 Android平台的进程间通信(InterProcess Communication,IPC)功能。源代码位于drivers/staging/android/binder.c。
2、Android电源管理(PM) 一个基于标准Linux电源管理系统的轻量级Android电源管理驱动,针对嵌入式设备做了很多优化。源代码位于:
kernel/power/earlysuspend.c
kernel/power/consoleearlysuspend.c
kernel/power/fbearlysuspend.c
kernel/power/wakelock.c
kernel/power/userwakelock.c
3、低内存管理器(Low Memory Killer) 比Linux的标准的OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死进程以释放需要的内存。源代码位于 drivers/staging/ android/lowmemorykiller.c。
4、匿名共享内存(Ashmem) 为进程间提供大块共享内存,同时为内核提供回收和管理这个内存的机制。源代码位于mm/ashmem.c。
5、Android PMEM(Physical) PMEM用于向用户空间提供连续的物理内存区域,DSP和某些设备只能工作在连续的物理内存上。源代码位于drivers/misc/pmem.c。
6、Android Logger 一个轻量级的日志设备,用于抓取Android系统的各种日志。源代码位于drivers/staging/android/logger.c。
7、Android Alarm 提供了一个定时器,用于把设备从睡眠状态唤醒,同时它还提供了一个即使在设备睡眠时也会运行的时钟基准。源代码位于drivers/rtc/alarm.c。
8、USB Gadget驱动 一个基于标准 Linux USB gadget驱动框架的设备驱动,Android的USB驱动是基于gaeget框架的。源代码位于drivers/usb/gadget/。
9、Android Ram Console 为了提供调试功能,Android允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer。源代码位于drivers/staging/android / ram_console.c。
10、Android timed device 提供了对设备进行定时控制的功能,目前支持vibrator和LED设备。源代码位于drivers/staging/android /timed_output.c(timed_gpio.c)。
参考资料:网络——Android
网络——linux
⑶ linux系统 和安卓有什么区别
1、支持软件格式不同
Android系统支持的是APK后缀文件格式,而linux系统若要运行APK软件则需要一个java虚拟机环境来运行。
2、运行平台不同
Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
linux系统在移动设备和电脑上都可以运行,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。
伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。
3、linux系统包含Android系统,Android系统不linux系统
Android是一种基于Linux内核开发的操作系统。所以 Android 也可以算是 Linux 系统的一种。因为他是基于 Linux 内核上面运行的一个java虚拟机环境。
⑷ android为什么不直接执行linux的程序而是自己搞一套
安卓系统可以执行Linux程序,其基于Linux内核,底层实现依靠Linux ELF可执行文件。然而,安卓系统并不直接运行传统的基于glibc的Linux软件。
谷歌为了实现商业目的,移除了包括glibc在内的遵守(L)GPL许可的组件,自行开发了名为bionic的运行库。实际上,bionic库本质上是libc的一种实现,适用于手机等小型设备,且Android NDK亦使用bionic库进行编译。
此外,安卓系统本身的文件系统存在限制,同样限制了Linux软件的安装与使用。尽管如此,运行Linux软件仍有替代方案,例如Linux容器。通过Termux等软件,可以实现Linux软件的运行,其自带常见Linux软件,通过apt/pkg命令进行安装。
尽管Termux自带软件不够丰富,但chroot和proot等容器构建方案提供了更多可能性。利用这些方案,可以在安卓系统上运行Linux发行版,实现更丰富的功能,甚至运行Windows软件。
Linux容器存在一些局限性,如无法使用systemd(因无法确保init的PID为1)以及无法调用某些硬件。然而,可以通过曲线救国的方式解决这些问题,如通过x11转发实现画面输出,声音输入输出借助pulseaudio,GPU渲染借助virglrenderer(需挂载/tmp目录到termux的tmp目录)等。
理论上,静态编译的程序可在安卓平台直接使用,因为静态编译不依赖动态库,可独立运行。例如,qemu经过静态编译后,可在安卓平台借助终端模拟器直接运行,但功能上会有所缺失。