aosp的具体编译就不多说了.很多人应该都会.本文主要说说 如何把编译出来的包 刷到真机上去.
准备工作: android-8.1.0_r41 Google手机 Nexus 5X
编译过程: source build/
lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
5. aosp_x86-eng
6. aosp_x86_64-eng
7. full_fugu-userdebug
8. aosp_fugu-userdebug
9. aosp_car_emu_arm-userdebug
10. aosp_car_emu_arm64-userdebug
11. aosp_car_emu_x86-userdebug
12. aosp_car_emu_x86_64-userdebug
13. mini_emulator_arm64-userdebug
14. m_e_arm-userdebug
15. m_e_mips64-eng
16. m_e_mips-userdebug
17. mini_emulator_x86_64-userdebug
18. mini_emulator_x86-userdebug
19. uml-userdebug
20. aosp_dragon-userdebug
21. aosp_dragon-eng
22. aosp_marlin-userdebug
23. aosp_marlin_svelte-userdebug
24. aosp_sailfish-userdebug
25. aosp_walleye-userdebug
26. aosp_walleye_test-userdebug
27. aosp_taimen-userdebug
28. aosp_angler-userdebug
29. aosp_bullhead-userdebug
30. aosp_bullhead_svelte-userdebug
31. hikey-userdebug
32. hikey960-userdebug
因为我们的真机是 Nexus 5x 所以 对应的就是 bullhead 我们可以选择 29 但是29是userdebug版 . 其实我们可以 直接执行
lunch aosp_bullhead-user 编译user版的.
然后 make -j8
等编译完成.. 但是..编译完成了就可以刷机了么? 很显然是不行的. 因为没有
那么可以去/android/drivers 下载 . 这里罗列了Google相关品牌的手机 驱动以及内核包. 选择对应的 版本去下载就好了. 会下载到这么两个文件
将这两个sh文件放到 aosp的根目录下分别执行一下. 记住最后会让你输入 I ACCEPT 的. 千万别 一路Enter键到底了.否则还得重 新来过.
执行完毕后我们重新编译一下就ok了.
接下来开始刷机.
先进入手机设置 -> 开发者选项 -> OEM解锁 此项如果不打开是无法解锁bootloader的
接下来通过命令行进入 aosp/out/host/linux-x86/bin/ 目录
执行命令 adb reboot bootloader
再执行 ./fastboot oem unlock oem 将进入到Unlock bootloader 界面 通过音量键来选择 Yes No 按下电源键选择 Yes.
此时bootloader解锁.
最后执行 ./fastboot -w flashall 过一会就OK了 手机会自动重启.
对了,记住设置 ANDROID_PRODUCT_OUT 该路径一直到 img目录层级.
另外,我们可以在aosp/build/tools/ vendor_buildinfo.sh 这两个文件中直接修改手机品牌的名字,厂家等信息.