当前位置:首页 > 每日看点 > 正文内容

Android为什么不直接执行Linux的程序?而是自己搞一套?

卡卷网1年前 (2025-02-26)每日看点222

安卓是可以执行Linux程序的,因为安卓自己就是基于Linux内核,底层的那些东西仍然是靠Linux ELF可执行文件实现。

但是,安卓并不能直接运行传统的基于glibc的Linux软件。由于glibc是遵守LGPL许可的运行库,但是Google的Android为了实现商业用途,就将包括glibc在内的遵守(L)GPL的组件都给砍掉了,并自行开发了一套名为bionic的运行库。实际上bionic库本质上也是libc的一种实现,只不过适用于手机等小型设备,并且Android NDK也是使用bionic库进行编译的。

除此之外,安卓系统本身的文件系统也有限制,同样也限制了Linux软件的安装使用。

不过好在,运行Linux软件我们还有别的方案。其中最典型的方案就是Linux容器,可以借助Termux等软件实现。实际上Termux本身就自带了Linux上的常见软件,可以通过apt/pkg命令安装,其实质上就是将Linux上的常见软件用bionic库重新移植以便在安卓系统运行。

Android为什么不直接执行Linux的程序?而是自己搞一套?  第1张

当然,termux自带的那些软件还是不够用。不过好在termux提供了chroot和proot这两种构建容器的方案(前者需要获取root,后者不需要)。关于二者的使用,网上的教程有很多,这里就不再赘述了。

通过容器运行Linux发行版可以实现更丰富的功能,除了能运行Linux上的常见软件,运行图形界面也是没问题的(可以借助vnc x11等进行画面输出,如果使用vnc的话还可以远程连接)

Android为什么不直接执行Linux的程序?而是自己搞一套?  第2张

WPS for Linux在Linux容器的运行效果(非P图)

甚至可以用Linux容器,借助wine-ce运行Windows软件。

Android为什么不直接执行Linux的程序?而是自己搞一套?  第3张

当然,Linux容器的缺陷还是不少的,例如无法使用systemd(因为无法确保init的PID为1),以及无法调用某些硬件(不过有些缺陷倒是可以用曲线救国的方式解决,除了x11本身就有的转发功能外,声音输入输出可以借助pulseaudio,GPU渲染可以借助virglrenderer(需要挂载/tmp目录到termux的tmp目录)等实现)。不管怎么说,Linux容器还算是可玩性比较高的。

另外,理论上静态编译的程序也可以在安卓平台直接使用,因为静态编译并不需要引用其他动态库,完全可以独立运行。例如qemu经过静态编译后就可以在安卓平台借助终端模拟器直接运行,不过功能上肯定会有所缺失,因为不少功能只能动态编译(例如gtk)。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/02/11278.html

分享给朋友:

相关文章

小米14 Pro和Redmi K70Pro怎么选?

小米14 Pro和Redmi K70Pro怎么选?

两款手机都使用了最新的骁龙8Gen3旗舰芯片,性能都是顶级,但是两款手机定位不同,卖点不同,红米K70 Pro定位主打性能的旗舰入门手机,小米14Pro定位旗舰中高端手机。具体根据个人需求与预算来选择:两款手机的相同、相似点:都使用了骁龙8...

电视上哪个软件可以免费看电视直播?

电视上哪个软件可以免费看电视直播?

今天给大家推荐8款免费电视端直播看剧软件,感兴趣的朋友可以下载试一试!1、超级ITV 6.04免费看电视直播,央视卫视高清秒播,还有电影电视剧少儿体育等。2、小鲸电视 1.3.1小鲸电视是一款智能电视应用,集成了多个内容来源,包括腾讯视频、...

苹果为什么不做千元机?

苹果为什么不做千元机?

第一步,打开苹果官网,注意是.com,不是.cn;第二步,点击iPhone,选择Compare iPhone;第三步,选择最新iPhone 15系列,查看起售价格,分别为$1199,$999,$799。这不妥妥的千元机吗,怎么苹果就不做千元...

计算机专业不干互联网不热爱技术,还能转行干什么?

转行的思路,无非也就是那几个。我们顺着每个思路,一路捋一遍,基本上,大致可行的方向,也就有了。一、跟对口职业和岗位业务链条相邻的职业和岗位计算机专业如果找到了对口的技术岗位,跟技术工作联系最紧密的岗位是什么?产品经理。当然,大多数产品经理也...

MacOS真的比Windows流畅吗?

我现在公司配的机器,配置是绝对的大古董了惠普z230sff薄塔cpu只是个4770,没错不是4790k,4770全核睿频只有3.8g显卡更是古董,k600,已经结束驱动更新支持了,显存仅1g,跑分跑不过13代uhd核显内存是加到16g得,但...

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

阿里云服务器续费价格好贵,想换一家云服务厂商,该怎么选择?

最近一台买了3年时间的腾讯云轻量服务器到期了,还有5天时间。当时买的价格是3年198元。配置是2核CPU、4GB内存,80GB SSD云硬盘,1200GB 流量包,然后中途给免费升级了CPU,从2核变成了4核。平均下来一年的费用70元不到,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。