课程答疑和新课信息:QQ交流群:422901085进行课程讨论
FrameWork实战课系列视频链接:https://edu.csdn.net/combo/detail/2123
或者点击这里
专题博客系列:
Android 8.1 zygote 启动过程源码
Android Framework实战视频–Zygote的fork进程篇
Android Framework实战视频–SystemServer启动篇
Android Framework实战视频–SystemServer启动FallbackHome篇
Android Framework实战视频–FallbackHome进程启动及Activity启动篇
Android Framework实战视频–FallbackHome结束启动Launcher篇
1、Ubuntu编译拷贝好对应的img
这个部分在我们入门课已经有了讲解可以去看framework入门课:https://edu.csdn.net/combo/detail/2123
在out/target/product/generic_x86_64目录下有:
system.img system-qemu.img userdata.img vendor-qemu.img vendor.img kernel-ranchu-64 ramdisk.img
这里要选择system-qemu.img和vendor-qemu.img,这两个镜像是专门为qemu运行制作的,如果选择system.img 和vendor.img,则avd运行失败。
这里我们之前如果在图形界面的Ubuntu上肯定一个emulator命令就可以跑起来,看到如下好看的界面:
但是很多同学想着平时工作都是window多,也不可能天天使用Ubuntu办公,实在有些不方便,问老师是否可以考虑在window上模拟器运行起来我们编译的系统。这种需求其实还比较多,很多人一般都是使用一个阿里云什么只有一个命令行终端,根本不会有什么图形界面的Ubuntu,大部分公司服务器也一样只有个命令行终端,那么我们要实现的就是如下场景:
既然是学员们提出的需求,我这边当然就尽量想办法满足,分享出来让以后学员就不需要我单独一个个讲了。
上面我们已经编译成功了到out的文件夹吧对应的几个img和kernel拷贝到我们的和window共享的目录下(这个共享部分就不需要多讲了,可以自行百度Samba或者模拟器映射路径)
这里我拷贝到一个路径如下:
好那这里linux部分就完成了,接下就是window部分
2、window配置好对应的avd,替换对应img
2.1 首先在window端的android studio建立好一个avd,这个直接android studio就可以操作
先创建一个虚拟机
选择一个设备,这里我们选择一个pixel就行 1920 * 1080的
这里为设置选择一个rom,因为我们目的是想运行我们自己编译的aosp的rom,所以选择和我们最贴近的x86选择一个x86_64对月的一个O版本,因为刚好我们自己编译的rom也是这个,如果没有下载就点击下载一下
这里最后给我们创建模拟器命名为MyPhone
到此就完成了window本身的模拟器创建
3、替换window本身模拟器的img文件
上面已经实现了window模拟器的创建了,也可以运行模拟器了,但是我们目的是想要实现对我们编译的img运行,而不是sdk下载的img运行
这里大家去sdk路径下找到刚刚我们下载的镜像文件夹,路径看截图,大家看到其实它主要也就是几个img的集合,这里本质上我们只需要对各个Ubuntu拷贝出来的img覆盖到这个文件夹下即可以实现运行我们自己编译的rom img文件
注意:这里要选择system-qemu.img和vendor-qemu.img改名成system.img和vendor.img
最后运行命令:
然后打开命令行:
输入:./emulator -avd MyPhone 既可以
大家看运行起来了课程里面的img,因为这开机动画都是Android Framework高级实战课里面BootAnimation的成果
最后:大家想学习framework的可以去买我的实战和入门系列课,相对很实惠,也不要忘记加入qq群:422901085哦