自己手头上有一台闲置的设备,小米max2 代号是oxygen。系统预装的是android 7.1.2,屏幕大小拿来监控挺合适的,7.1的系统现在显然有些apk是装不上的。既然这样,为何不自己编译呢?
好了,正文开始
有一台高性能的服务器,或者自己的pc,要求
我编译系统选的是Debian 12 (Bookworm),安装编译时必须的组件
sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev git vim jq python-is-python3
安装谷歌repo
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
当存在root账号时,设置变量
cat >> ~/.bashrc <<EOF
# set PATH so it includes user's private bin if it exists
if [ -d "\$HOME/bin" ] ; then
PATH="\$HOME/bin:\$PATH"
fi
EOF
source ~/.bashrc
创建编译文件夹工作目录
mkdir xxx
cd xxx
repo init -u xxx -b xxx // xxx指的是rom项目名,记得选分支
repo
repo sync // 服务器环境直接使用该命令即可,自己电脑你可能需要加force参数
同步Device Tree/Kernel/vendor,比如我的<https://github.com/halibw/android_device_xiaomi_oxygen同步完成即可构建
. build/envsetup.sh
lunch xxx-oxygen-userdebug // oxygen是我max2的代号,首次编译建议选eng
好了,剩下的就是修改编译过程中出现的问题了,服务器编译记得安装终端复用器如tmux、screen