自己整理的编译cm的大致步骤,英文能力不错的可以去lineage的官方wiki看看。
没有特别说明,所有的文件操作都在代码的根目录下执行。 0x0 安装adb和fastbootsudo apt install adb fastboot
安装后执行adb devices可能提示有权限问题,自己百度下提示的错误解决即可。
0x1 环境搭建先安装几个必要的组件,包括: bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev openjdk-8-jdk0x2 安装Repo和python/h2>
sudo apt install repo python0x3 下载LineageOS源码打开.repo/manifest.xml将https://android.googlesource.com改成https://aosp.tuna.tsinghua.edu.cn然后再repo sync 3.下载机型配置当然这些东西都可以写到.repo/local_manifests/local_manifests.xml里面去,repo sync的时候会自动同步。格式差不多是这样 <?xml version="1.0" encoding="UTF-8"?><manifest> <remote name="coderstory" fetch="https://github.com" review="review.lineageos.org" /> <project name="coderstory/android_device_meizu_16th" path="device/meizu/16th" remote="coderstory" revision="lineage-16.0" /> <project name="coderstory/android_device_meizu_sdm845-common" path="device/meizu/sdm845" remote="coderstory" revision="lineage-16.0" /> <project name="LineageOS/android_kernel_xiaomi_sdm845" path="kernel/meizu/sdm845" remote="coderstory" revision="lineage-16.0" /> <project name="LineageOS/android_packages_resources_devicesettings.git" path="packages/resources/devicesettings" remote="coderstory" revision="lineage-16.0" /></manifest>0x4 make vendormake vendor主要是拉取官方系统的部分必要文件用于编译lineageos系统。
先确保手机能连adb
然后在源码根目录下执行 . build/envsetup.sh初始化环境
终端进入/device/meizu/16th目录下。执行
chmod 755 *.sh
./setup-makefiles.sh
./extract-files.sh
此时,device/vendor/meizu下会出现个16th的目录,如果没有则将sdm845改名为16th。 0x5 开启缓存apt install ccache
export USE_CCACHE=1
ccache -M 50G 0x6 编译系统接下来,需要初始化编译机型,执行
lunch ineage_16th-userdebug 然后执行编译命令 mka bacon
0x7 还原代码瞎改代码炸了怎么办?执行下面的命令还原所有修改
repo forall -c git reset --hard
|