1. Ubuntu系统安装与基础配置SL8541芯片的Android系统编译需要稳定的Linux环境Ubuntu 18.04 LTS是最佳选择。这个版本经过大量开发者验证与Android构建工具的兼容性最好。我建议直接下载官方镜像制作安装U盘分区时给根目录至少分配100GB空间源码编译中间文件会占用约80GB。安装时注意三点一是选择英文系统语言避免路径乱码二是不勾选第三方软件包减少冲突三是禁用Secure Boot防止驱动加载问题。安装完成后首先更新软件源我习惯用阿里云镜像加速下载。打开终端执行sudo sed -i s/archive.aliyun.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo apt update sudo apt upgrade -y接着配置基础开发环境安装SSH服务方便远程操作sudo apt install openssh-server设置Git全局信息git config --global user.email youremail.com调整swappiness值避免频繁交换echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf2. 编译工具链安装详解Android 8.1源码编译需要特定版本的JDK实测OpenJDK 8最稳定。安装时要注意同时配置JAVA_HOME环境变量sudo apt install openjdk-8-jdk echo export JAVA_HOME/usr/lib/jvm/java-8-openjdk-amd64 ~/.bashrc32位兼容库是容易遗漏的关键依赖这个命令组合我用了多年sudo apt install libx11-dev:i386 libreadline6-dev:i386 \ libgl1-mesa-dev g-multilib lib32z1-dev \ libncurses5-dev:i386 libsdl1.2-dev遇到libesd0-dev找不到的问题时可以改用libasound2-dev替代sudo apt install libasound2-dev其他必备工具包括代码管理工具git repo curl编译加速工具ccache ninja-build调试工具u-boot-tools lzop3. 源码下载与Patch应用建议使用清华镜像站加速源码下载先初始化repo客户端mkdir ~/bin curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo chmod x ~/bin/repo同步代码时使用-j参数加快速度我一般用16线程repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r81 repo sync -j16 --no-tags --no-clone-bundle应用厂商提供的patch时推荐先用git apply --check测试cd kernel git apply --check ../vendor/patches/0001-some-fix.patch git apply ../vendor/patches/0001-some-fix.patch如果patch不匹配可以尝试交互式应用git apply --reject ../patches/*.patch4. 编译排错实战指南4.1 Jack服务器内存溢出编译时常见的Jack server崩溃问题根本原因是默认内存分配不足。修改prebuilts/sdk/tools/jack-adminJACK_SERVER_VM_ARGUMENTS${JACK_SERVER_VM_ARGUMENTS:-Dfile.encodingUTF-8 -XX:TieredCompilation -Xmx4096m}然后重启服务./prebuilts/sdk/tools/jack-admin kill-server ./prebuilts/sdk/tools/jack-admin start-server4.2 系统资源限制Ubuntu默认的进程限制可能导致编译失败建议调整ulimit -n 8192 ulimit -c unlimited ulimit -s unlimited永久生效需要修改/etc/security/limits.conf* soft nofile 8192 * hard nofile 655364.3 自动工具缺失错误遇到autoreconf: not found错误时需要补充安装sudo apt install autoconf automake libtool对于较新的Ubuntu版本可能还需要sudo apt install gettext pkg-config5. 编译环境迁移技巧将编译环境完整复制到新机器时直接复制.git目录可能不够。我推荐使用rsync保持权限rsync -avz --progress --excludeout /path/to/source/ usernewpc:/target/path/关键配置需要单独备份ccache配置~/.ccacherepo状态repo forall -c echo $REPO_PATH; git rev-parse --git-dir环境变量printenv env_backup.txt遇到git检出问题时可以强制重置repo forall -c git reset --hard ; git clean -fdx