前言全局说明
一、说明
1.1 环境准备:
下载和手机设备相同的驱动: https://developers.google.com/android/drivers?hl=zh-cn
二、安装驱动
下载对应设备驱动后,是 sh 后缀文件,运行,按照提示安装即可。
(如果是虚拟机则不用装驱动,手机则需要)
三、编译
3.1 环境生效
source build/envsetup.sh
3.2 选择编译设备
lunch
3.3 开始编译
make
或
make -j6
或
make -j$(nproc)
-j后面是线程数,越多越多快,但最大数字和CPU内核数有关系
$(nproc) 是自定获取内核数量
3.4 构建 fastboot 和 adb (如果需要)
make fastboot adb
可以直接下载编译好的:https://developer.android.com/tools/releases/platform-tools?hl=zh-cn
四、刷机
刷机有风险,会清空数据
刷机有风险,会清空数据
刷机有风险,会清空数据
4.1 设置目录
源码编译完,生成镜像后,ANDROID_PRODUCT_OUT 将自动生成,通常为 out/target/product/<lunch 选择的设备名>
如果没有生成,可以有如下两种方法选择
4.1.1 方式一
进入 .img 路径,后执行刷新
cd out/target/product/<lunch 选择的设备名>
4.1.2 方式二
增加变量
export ANDROID_PRODUCT_OUT='out/target/product/<lunch 选择的设备名>'
4.2 在启动时按住相应的组合键或使用以下命令使设备进入 fastboot 模式
adb reboot bootloader
4.3 刷写
fastboot flashall -w
或 按需刷入
fastboot flash system $ANDROID_PRODUCT_OUT/system.img
fastboot flash boot $ANDROID_PRODUCT_OUT/boot.img
fastboot flash userdata $ANDROID_PRODUCT_OUT/userdata.img
-w 选项会擦除设备上的 /data 分区;该选项在您第一次刷写特定设备时非常有用,但在其他情况下则没必要使用。
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://blog.51cto.com/u_16099323/7718087
https://blog.csdn.net/qq_40340448/article/details/124502496
https://blog.51cto.com/u_16175487/11716555 (自动化脚本刷机)
https://source.android.com/docs/setup/build/running?hl=zh-cn#selecting-device-build