首先写一下我的配置:
vultr的vps 320的固态 6核的处理器 系统是Ubuntu 18.04 其实就是vps倒数第二个配置,位置选择的东京,感觉确实要快一点点呢。
然后说一下我遇到的问题,首先是依赖的安装(好机会,第一步就完蛋了)。然后是用户权限的问题,这个很好解决。然后因为meizu的内核是不开源的,然后只能用预编译内核,害小厂爬爬爬。基本也没什么问题了。
过程开始:
在你的终端里面输入下面的代码来安装依赖
sudo apt-get update && sudo apt-get 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 libwxgtk3.0-dev
然后开始安装仓库管理工具,Repo
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
sudo cp ~/bin/repo /bin/repo
sudo chmod a+x /bin/repo
下一步便是输入你的git用户名和邮箱(替换xxx@xxx.com为你自己的邮箱,xxx为你自己的用户名)
git config --global user.email "xxx@xxx.com"
git config --global user.name "xxx"
然后新建一个文件夹,这个文件夹会存放你拉下来的源码,然后cd进入文件夹(一定要记得文件夹名嗷)
mkdir ~/文件夹的名字
cd ~/文件夹的名字
然后因为同步源码时间可能会比较长,所以可以用screen来解决这个问题,具体我就不说,百度一大堆
screen -S exthm
到了这一步后你是不是想着拉源码了?别急,先把python安装上
sudo apt-get install python
安装完python后就可以拉源码了,首先找到你想编译的ROM的github仓库。然后找到你想编译的分支然后查看一下README.MD文件,这里我们以exthm为例(如下图)
![](https://www.moraex.com/wp-content/uploads/2021/07/1627623708-exthm编译1.png)
一般我们选择第二段的就ok了
repo init -u https://github.com/exthmui/android.git -b exthm-10 --depth=1
然后按y回车并开始同步源码
repo sync --current-branch --force-sync --no-clone-bundle --no-tags --optimized-fetch --prune -j$(nproc --all)
然会随着一把timi的时间过去了(vps,电脑可能要更久),你的源码也拉完了,而且最后一行是repo sync finished successfully,那么就可以开始下一步。
以我自己的魅族16s“m1971”的exTHmUI为例,其他机型请找指定的源码同步设备源码,供应商源码,内核源码到指定目录(三件套)(‘-b exthm’意思是指定同步‘exthm’这个分支下的源码,后面跟着的是存放到本地的目录)
git clone https://gitee.com/baizhi958216/android_device_meizu_m1971.git -b exthm device/meizu/m1971 && git clone https://gitee.com/baizhi958216/android_device_meizu_sm8150-common.git -b exthm device/meizu/sm8150-common && git clone https://github.com/mokee/android_vendor_meizu_m1971.git -b mkq-mr1 vendor/meizu/m1971 && git clone https://github.com/mokee/android_vendor_meizu_sm8150-common.git -b mkq-mr1 vendor/meizu/sm8150-common && git clone –-depth=1 https://github.com/mokee/android_kernel_meizu_sm8150.git -b mkq-mr1 kernel/meizu/sm8150
更新当前编译环境
source build/envsetup.sh
预编译配置
lunch exthm_m1971-userdebug
检查没有问题就后开始编译
mka bacon
然后就可以耐心等待出包了
![](https://www.moraex.com/wp-content/uploads/2021/07/1627623735-exthm编译2-e1648622526569.png)
然后感谢白纸大佬写的m1971编译教程,同时感谢导演为meizu类原生做出的贡献。
![](https://www.moraex.com/wp-content/uploads/2021/07/1627623747-exthm编译3.png)
大佬,我的机型和你的不一样,我也想自己动手编译rom,现在卡在拉取设备源码这一步,如果找到相应的源码之类,不用修改可以直接用吗
rom的源码是不用修改的,直接拉取就可以了。只需要拉取大佬做好的设备树和设置好预编译内核
这方面的具体问题你可以去酷安找roi_wang大佬解决
好的,非常感谢
添加你的友链,图片地址好像找不到了!
博客名称:pei 你看雪
描述:陪伴是最长情的告白
站点:https://phy0412.top/
博主头像或网站头像:https://gitee.com/phyqxx/picture-warehouse/raw/master/pnkx/px.jpg
友链 –> https://phy0412.top/friendlink