SDK操作
下载依赖软件包
依赖软件包是用于编译SDK。
使用终端安装依赖,依次执行下面命令。
TIP
下面的命令适用于Ubuntu20版本,不适合其他版本
sudo apt-get update
sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop
sudo apt-get install git curl u-boot-tools mtd-utils
sudo apt-get install openjdk-8-jdk device-tree-compiler
sudo apt-get install gdisk m4 zlib1g-dev git gnupg flex bison gperf libsdl1.2-dev libesd-java
sudo apt-get install squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool
sudo apt-get install libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev
sudo apt-get install lib32ncurses-dev lib32readline-dev gcc-multilib libswitch-perl libssl-dev unzip
sudo apt-get install zip liblz4-tool git ssh make gcc libssl-dev liblz4-tool vim expect
sudo apt-get install g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support
sudo apt-get install qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib
sudo apt-get install unzip device-tree-compiler python3-pip libncurses5-dev rsync subversion python-protobuf
sudo apt-get install sed make binutils build-essential gcc
sudo apt-get install g++ wget python-is-python2 libncurses5 bzr cvs git mercurial
sudo apt-get install patch gzip bzip2 perl tar cpio unzip rsync file bc wget qemu-user-static live-build android-sdk-libsparse-utils android-sdk-ext4-utils
::: important 经测试以上依赖在 Ubuntu20.04 环境安装完成之后,可以对 Linux 和 Android12 源码进行编译通过。 :::
WARNING
如遇到下面错误,重新执行下载软件包操作即可,或根据提示在末尾加上--fix-missing
,但不要在第一次执行下载软件包时就添加。
E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?
SDK编译
SDK的全自动编译
全自动编译是将uboot、kernel、recovery等部分全部进行编译。对于新解压的SDK需要进行一次全自动编译,第一次编译不要进行单独编译,会出现报错的情况。
打开终端,进入SDK的目录下,执行./build.sh
,进入编译的UI界面,注意需要保证终端的窗口不要太小,否侧会报错,尤其是在使用Vscode的终端时,需要将窗口拉大。
sh
./build.sh
uboot单独编译
打开终端,进入SDK所在目录,输入./build.sh uboot
即可单独编译uboot。
sh
./build.sh uboot
kernel单独编译
打开终端,进入SDK所在目录,输入./build.sh kernel
即可单独编译kernel。
sh
./build.sh kernel
Recovery单独编译
打开终端,进入SDK所在目录,输入./build.sh recovery
即可单独编译recovery。
sh
./build.sh recovery
打包镜像
打开终端,进入SDK所在目录,输入./build.sh firmware
即可打包所有启动系统需要的镜像。
sh
./build.sh firmware
压缩磁盘
sudo vmware-toolbox-cmd disk shrink /