当前位置:首页 > 每日看点

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

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

安卓是可以执行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

分享给朋友:

相关文章

每天5点就下班了,闲着也是闲着,有哪些副业可以推荐?

每天5点就下班了,闲着也是闲着,有哪些副业可以推荐?

今天整理了36个搞钱APP 可以先接触学习看看,然后选定一个感兴趣的方向去精进 要知道机会不是一下子来临的, 而一定是你前期做了很多准备 每天进步一点点,就像滚雪球一样 希望所以女生,能够在2024年提升自己, 立下一个新的搞钱Flag吧…

国内比较好用的快速开发平台有哪些?

国内比较好用的快速开发平台有哪些?

低代码/零代码 快速开发平台,一直是近年来很热的一个词,各大巨头的纷纷加入也给这个赛道。题主需要一个能二次开发的低代码快速开发平台,可以试试JVS低代码(私有化)。 JVS低代码前端采用Vuex框架和Element-ui组件库,后端则基于S…

网易云音乐里有哪些打动你的评论?

1. “如果我被强奸了,有人说我会失去贞操。” “我怎么失去贞操了呢?” “我的贞操不在我的阴道里。” “失去贞操的是强奸犯,而不是被强奸的人。” 2. 但要记得那年海边的烟火,我们不拘一格 ,嘲笑过生活。 ………网易云热评《这样就很好》…

开发了个小程序,咋推广呢?

要是开发了个小程序,想推广的话,可以先从自己的朋友圈子下手,让亲戚朋友都帮忙转发宣传,这样能先有点人气。 然后去一些跟你的小程序相关的论坛、社区啥的,发帖子介绍介绍,吸引有兴趣的人。 还能找些网红、博主合作,要是他们觉得你的小程序不错,帮忙…

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯论坛关闭后,除了知乎,大家都在逛什么?

天涯神贴合集完整版,给大家整理好了! 那年大学,打开天涯,感觉打开了一片新天地,里面什么样的人都有,有大神也有蛇神,比某乎好太多了,可惜后面关了很多年前,天涯社区曾出现了不少深受欢迎的帖子,成功地预言了许多形势和事件。这些帖子因此被冠以“天…

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

我给你举个真实的例子。。 有一个人叫高伟东,在哈尔滨工作。在2012年做了一个APP。使用词根词缀背单词。名字叫: 词根词缀词典这个人编辑了2300余条词根,给10万多条单词建立了词根索引,整理了50多万条的单词记忆方法,包括新版本的诸多新…

发表评论

访客

看不清,换一张

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