SDK操作
下载依赖软件包
依赖软件包是用于编译SDK。
使用终端安装依赖,依次执行下面命令。
TIP
下面的命令适用于Ubuntu20版本,不适合其他版本
sudo apt-get updatesudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzopsudo apt-get install git curl u-boot-tools mtd-utilssudo apt-get install openjdk-8-jdk device-tree-compilersudo apt-get install gdisk m4 zlib1g-dev git gnupg flex bison gperf libsdl1.2-dev libesd-javasudo apt-get install squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtoolsudo apt-get install libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-devsudo apt-get install lib32ncurses-dev lib32readline-dev gcc-multilib libswitch-perl libssl-dev unzipsudo apt-get install zip liblz4-tool git ssh make gcc libssl-dev liblz4-tool vim expectsudo apt-get install g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-supportsudo apt-get install qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilibsudo apt-get install unzip device-tree-compiler python3-pip libncurses5-dev rsync subversion python-protobufsudo apt-get install sed make binutils build-essential gccsudo apt-get install g++ wget python-is-python2 libncurses5 bzr cvs git mercurialsudo 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-utilsWARNING
经测试以上依赖在 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.shuboot单独编译
打开终端,进入SDK所在目录,输入./build.sh uboot即可单独编译uboot。
sh
./build.sh ubootkernel单独编译
打开终端,进入SDK所在目录,输入./build.sh kernel即可单独编译kernel。
sh
./build.sh kernelRecovery单独编译
打开终端,进入SDK所在目录,输入./build.sh recovery即可单独编译recovery。
sh
./build.sh recovery打包镜像
打开终端,进入SDK所在目录,输入./build.sh firmware即可打包所有启动系统需要的镜像。
sh
./build.sh firmware压缩磁盘
sudo vmware-toolbox-cmd disk shrink /