小虾米资讯
AD1android:Android本地编译QEMU6.0.0
2022-08-20 12:09:40 / 我要吐槽STEP 0=>至www.qemu.org下载源码
简要介绍我的工具包来历:使用来自QPython的python3.6,c4droid编译出第一代clang第一代clang编译出make libbz2 liblzma libiconv libncurses libintl .......用Termux的OpenSSL、Glib启动整个循环编译出Python3.8、cmake至此Python-Clang-CMake成自举之势然后编译perl,从termux拿ninjaOpenSSL与Glib整套体系成自举之势(除了来自termux并修改过的m4与ninja)然后现在举到第6代了clang12+llvm-binutils12+Meson(Python3.9)+ninja1.9+perl5.34+make4.3+cmake3.20+pkg-config0.29是本次的工具libiconv+libintl+glib2.68.3+libzstd+libjpeg+libpng+libc++(NDK)是本次所用库
STEP 1=>解压源码包!图中使用MT管理器的MTerm终端。/data/data/bin.mt.plus是MT管理器数据目录,故对其子目录有访问权。p.s. MT管理器可以认为是带终端模拟器的文件管理器,也可以认为是带文件管理功能的终端。有内置bash!
STEP 2 =>对源码进行一些小修改:在 qga/commands-posix.c tests/qtest/ivshmem-test.ccontrib/ivshmem-server/ivshmem-server.c中删去 *ifaddrs() shm_*() 的调用在 audio/ossaudio.c 中 #include <sys/soundcard.h>改为 #include <linux/soundcard.h>在 stdlib.h 中:#include <malloc.h> 改为 #include "malloc.h"
*ifaddrs()系列函数也可以不删,在CMake的源码包中可以找到android-ifaddrs.c(h),对其修改(uv__malloc()改malloc()啥的)后将其全部内容复制粘贴到对应文件中即可
STEP 4 =>执行命令!
发现新情况!调用到了缺失函数!我们依原则:1. 确定不是项目内2. 修改代码,使其运行时报错
完事
大家可以试用一下希望能得知快了还是慢了或者缺什么feature链接:网页链接提取码:i367
关于Root,我想说的是不影响QEMU运行但绝对影响体验(除非有什么其它稳定挂后台并保持系统性能分配的方法)所以测试靠大家了系统要求 Android6+ AArch64
- 上一篇: 修完手机发现买了个鼠标??
- 下一篇:看来有人是有点顶不住了
Powered By © 小虾米资讯 2015
(本站部分文章来源于网络或网友爆料,不代表本站观点,如有侵权请联系及时删除 )