小鱼塘--自说自话的地方

  • 小玩意
  • 小想法
记录自己技术和想法地方
  1. 首页
  2. android
  3. 正文

android 模拟器实现技术自己我研究总结

28 7 月, 2025 34点热度 0人点赞 0条评论
内容目录

背景

前端时间用起pc应用宝这个软件,所以研究这个技术,我通过研究PC应用配置和AI 进行验证。

技术方案

  1. 编译 aosp 成x86
  2. 集成lib houdini库,市面大多数模拟器默认集成,貌似有授权问题,不知道国内模拟器有授权没有
  3. 开发自己模块,集成aosp中,主要功能读取界面数据(frame buffer)和 行为模拟等等
  4. 开发客户端,显界面和操作
  5. 维护各种APP兼容性,提供中间层做兼容
  6. virutalbox 编译或者直接使用virtualbox ,进行创建虚拟机和启动等等,用于跑x86 android 系统

PC应用宝验证

  1. 你可以在PC应用看到 AndrowsBox 文件夹,里面文件基本对应vritualbox ,它改了名字,大概把virtualbox 开源代码用来修改了
  2. Tencent\Androws\Image 中 androws.abox 文件就是配置virualbox 配置,他只是改了后缀而已,同时全局配置也只是改了路径
  3. ABoxHeadless.exe --comment TVM_3000 --startvm xxx 命令启动虚拟机,这个可以任务管理器查看命令行(默认不显示,要自己设置),这些命令都是virtualbox 一样
  4. uname -m ,可以得到这个系统android x86系统
  5. 在/system/bin 目录中你可以找到 houdini 这些文件,用来翻译跑arm 指令

mumu 模拟器验证

  1. Hypervisor\MuMuVMMHeadless.exe --comment MuMuPlayer-12.0-0 --startvm 1f4338ef-xxxxxx --vrde config 查看 这个MuMuVMMHeadless.exe是Copyright (C)2009-2025 Oracle Corporation,那么基本确定用virtualbox。
  2. adb 命令进行连接查看 命令 uname -m,查看得到x86_64
  3. 查看cd /system/bin,然后ls | grep houdini 得到 houdini 和 houdini64 文件,验证用来翻译arm 命令
  4. 中间层这种不用验证了,基本都是通过网络通信,起码捕获界面数据和模拟点击这个最基本行为,更不用机型修改和一些权限限制了。

为什么要android x86

性能,不用翻译指令,结合 intel 硬件虚拟化,性能跑起来非常高了,比起纯软件跑模拟指令快很多

虚拟机奇怪的知识点

因为研究android 模拟器,我就顺便研究虚拟机一些技术(感叹AI真的方便我这种喜欢研究技术,又无法跟身边交流的人,可以不停跟AI交流,优化思考同时还可以验证思考)

虚拟机本质是什么?

虚拟机本质是就是指令模拟+硬件行为模拟 ,这个我自己nes 模拟器身有体会,模拟指令行为,因为x86不能跑 nes cpu的指令,那显示更加不可能,所以我模拟指令,拿到对应的界面数据,然后不停渲染出来,只是nes 设备比较简单,指令也特别少,但它本质就是虚拟机技术。对于intel cpu模拟更加复杂,最头疼就是特权指令模拟,目前硬件虚拟机解决这个问题,所以为什么现在虚拟机跑起来速度快很多了。

虚拟机为什么要知道安装镜像系统和cpu架构?

虚拟机只有知道cpu架构,才能够虚拟对应设别,比喻显卡、比喻网卡、比喻声卡等等,我们对这些设备操作都是通过cpu 地址映射到对应设备地址中去,这些我们才能操作对应硬件,这个跟nes模拟器写0x2000 ~0x2007 等地址进行读写,其实对硬件ppu 的读写

根据系统主要对应行为模拟不一样,比喻该分配多少内存和一些模拟设备不一样,很简单到DOS 和 windows 显然很多行为不一样,那么模拟时候行为也不一样,所以知道一些系统是什么是来方便模拟器来模拟,理论上系统没有那么重要,因为虚拟机只是跑指令而已,我们知道系统,我们起码知道哪些基本设备需要模拟

心得

  1. 研究技术不一样自己实现,不然成本太高,我们可以通过现成产品进行研究大概得出一个结论
  2. 现在可以结合AI快速验证自己的想法,虽然很多时候是错误,但没有关系,自己可以通过前后逻辑进行验证
  3. android 技术研究过一段落,因为自己并不是想做一个android模拟器,只是好奇它技术实现而已,现在基本大概流程了,直接windwos pc应用宝基本就足够了,后续有时间说一下pc应用宝升级和一些不必要的文件可以进行删除,减少磁盘占用。
标签: 暂无
最后更新:28 7 月, 2025

小鱼儿

爱研究技术,爱玩LOL

点赞
< 上一篇

COPYRIGHT © 2022 小鱼塘. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

湘ICP备18005349号