安卓源码下载编译MOD刷机-aosp

2022/10/17 android 共 3571 字,约 11 分钟

关键词:安卓,Android,aosp

源码下载

参考:

#配置repo环境
mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo
cp repo ~/bin

vim   ~/.bashrc
#添加下面两行环境变量配置 :wq 保存退出
PATH=~/bin:$PATH
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
#环境变量生效
source ~/.bashrc

#下载code到aosp
mkdir aosp && cd aosp
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r36
repo sync -c

参考 AOSP 镜像站使用帮助 清华大学开源软件镜像站 Tsinghua Open Source Mirror ,既然推荐的方法是下载最新的压缩包,刚好结合Windows的子系统,何不直接在Windows上使用迅雷下载压缩包 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar 到Windows目录:

%USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\子系统的用户名\

应为直接使用 wget 或 curl 下载速度上不去也不够稳定,使用迅雷速度比较快。这个源码下载的时间大概是 6 个小时。

压缩包下载好之后再按照清华的教程执行以下命令:

tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

以后每次只需运行 repo sync 即可保持同步。 推荐每天同步,尽量选择凌晨等低峰时间

编译

# 编译源码
source build/envsetup.sh
lunch
make -j8


# 编译成功信息:
# [100% 78784/78784] Target vbmeta image: out/target/product/generic_arm64/vbmeta.img
#### build completed successfully (01:48:40 (hh:mm:ss)) ####

# 查看img文件格式
# $ file ./target/product/generic_arm64/system.img
# ./target/product/generic_arm64/system.img: Linux rev 1.0 ext2 filesystem data, UUID=eed8effd-4c40-4397-b50f-bac2b770e7ef (extents) (large files) (huge files)

如果编译出错,需要安装以下环境后重试:

sudo apt install apt-file
sudo apt-file update
sudo apt-file find libncurses.so.5
sudo apt install libncurses5

参考:Android 11 编译报错收集

驱动

放到安卓源码目录下,分别对三个文件chmod a+x 文件名 赋权限,然后分别执行三个文件,此时会生成 vendor文件夹。

刷机

  1. [原创]Android手机刷机教程
  2. 烧录成功却无法正常开机,请检查 谷歌手机设备驱动的下载 是否错误。
  3. 烧录成功却无法正常开机,你可以去官网烧录将设备的出厂镜像(factory images),以便你正常开机使用

【刷机教程】谷歌Pixel系列手机安卓11刷机、Root、安装Xposed、破解电信全程教程,评论区置顶评论有所使用的工具下载链接及刷机命令_哔哩哔哩_bilibili

[获取 Google USB 驱动程序Android 开发者Android Developers](https://developer.android.google.cn/studio/run/win-usb)
[安装原始设备制造商 (OEM) USB 驱动程序Android 开发者Android Developers](https://developer.android.google.cn/studio/run/oem-usb#InstallingDriver)
[适用于 Google Pixel 的出厂映像Android 开发者Android Developers](https://developer.android.com/about/versions/13/download?hl=zh-cn)

模拟器刷机

真机刷机

MOD

整体步骤:

  1. 使用simg2img system.img s.img把system.img转换为ext4镜像文件;
  2. 然后使用mount -t ext4 s.img /mnt/system 挂载到/mnt/system目录下;
  3. 修改文件;
  4. umount /mnt/system;
  5. 转换为刷机镜像文件 img2simg s.img system.img
  6. fastboot刷机,fastboot flash sytem system.img
# 查看img文件格式
# $ file ./target/product/generic_arm64/system.img
# ./target/product/generic_arm64/system.img: Linux rev 1.0 ext2 filesystem data, UUID=eed8effd-4c40-4397-b50f-bac2b770e7ef (extents) (large files) (huge files)

镜像解包打包工具

参考:几种常用打开/修改系统镜像system.img工具

工具说明
simg2imgaosp编译产物,在/out/host/linux-x86/bin/目录下。如果用file命令查看img是sparse ext4格式,则可以用该工具进行转换:simg2img system.img system_2.img
mount挂载修改。sudo mount -t ext4 -o loop system.img ./system,这样可以直接在目录下直接修改文件。
make_ext4fs打包为sparse img模式的ext4。sudo make_ext4fs -s -l 2499805184 -a system -S ./file_contexts ./system.img.ext4 ./system
ext2read/ext2exploreA Windows Application to read and copy Ext2/Ext3/Ext4 (With LVM) Partitions from Windows.ext2read.sf.net 。其实就是ext2explore,很多年前的老工具了,最新版本是2.2.71,只能查看和导出保存,不能修改。
winhex能打开、修改、保存、导出文件。导出方法:文件上右击 - 恢复/复制 - 选择保存的地方
Beyond Compare能用“Copy to folder…”将文件导出来,但不能修改
mountlinux下挂载修改。命令:sudo mount -o loop /xxx/system.img /home/temp/xxx
ROM制作工具ROM制作工具,ROM批量制作,ROM精简,ROM打包,ROM修改,手机刷机包制作
ROM助手可以精简APP,编辑build.prop,追加或删除app、修改权限等。完善后点击“开始封装”即可。
Android10-system.img-unpackEMUI10 MIUI12 Flyme8 firmware unpack.Android system.img unpack repack on Windows10.(Android 8以上 ROM解包工具)
# 设备信息
make/target/product/aosp_x86.mk

文档信息

Search

    Table of Contents