启动模拟器
emulator
command not found
错误, 你肯定是在没有导入环境的窗口执行 emulator 了
-bash: emulator: command not found
这里要先导入环境, 如下
build/envsetup.sh
lunch aosp_arm-eng
emulator
我们可以自定义模拟器 相关镜像 kernel-qemu , system.img, userdata.img, ramdisk.img
kernel-qemu:内核映像文件,它是linux操作系统针对qemu模拟器编译的内核文件,里面安装有qemu的仿真硬件驱动,如果将来在开发板或手机上移植android,那么,第一步就是要先make出一个支持开发板或手机的kernel来。
system.img:是android系统的文件系统,里面包含了android系统的应用程序(apk),系统用到的各种库(jar, so, a)和资源,配置文件(etc目录下),系统命令(bin,usr/bin, xbin),该映像文件是由out/target/product/PRODUCT/system目录打包生成的,我们可以对这个目录里的东西进行定制化,比如,你要想让android系统默认为安装一个应用程序,那么可以将要安装的apk文件拷贝到out/target/product/PRODUCT/system/app目录下
userdata.img:用户数据映像,里面包含有程序安装信息,好比如是windows的C:/Program Files/目录
ramdisk.img:内存磁盘映像,这个文件对于没有做过Linux移植的人来说,不好理解,linux内核启动起来,要挂载一个文件系统作为自己的根文件系统,通常文件系统是存放在块设备上的,也就是硬盘或flash上的,里面含有Linux内核启动过程中依赖的一些程序和配置文件,前面所述的userdata.img和system.img映像,在linux系统启动起来后挂载到其data,system目录下。
//自定义 镜像启动 generic 为vendor name
emulator
-kernel ./prebuilts/qemu-kernel/arm64/kernel-qemu \
-sysdir ./out/target/product/generic \
-system system.img \
-data userdata.img \
-ramdisk ramdisk.img
//注意 这里有些问题
一般pc机都是x86环境 模拟器需要加载x86_64镜像 运行 以上测试为arm product
通过
emulator -verbose 查看 log 模拟器更多参数 见下文
模拟器会重新搜索x86架构镜像 加载