我可以在我的android应用程序中包含linux可执行文件吗



我创建了一个python应用程序,它在windows上调用7z.exe的子进程,在linux上调用7z的子进程。

subprocess.run('7z x ...')

关于android,7z的linux可执行版本会是什么在android上使用我的python脚本?

这取决于手机的CPU架构。安卓智能手机最常见的CPU处理器类型是arm、arm64、x86。

当你在你的linux系统(debian,ubuntu(上构建linux二进制文件时,你必须考虑,既没有完整的标准C-libary,例如glibc,也没有更快的小型嵌入式libc,比如android上的dietlibc。

因此,您必须编译一个链接了所有lib的静态二进制文件,并可能使用几种最常见的android cpu的gcc交叉编译该二进制文件。

Java虚拟机抽象是android应用程序的标准。当你像SDMaid那样从android应用程序执行linux二进制文件时,请注意,二进制文件将位于应用程序数据分区内(该分区的所有装载限制(,并且它将在该android应用程序的UserId和GroupId下运行。(在任何安卓手机上,UserId和GroupId通常都不同,因为它们取决于特定应用程序的安装顺序以及安卓手机供应商预装的应用程序数量(。

最新更新