无缝迁移CM代码到LineageOS
2017-01-05(四) by chenjia.me从CM迁移代码到Lineage OS
CM 由于总所周知的问题,现在社区变为Lineage OS,所以github上的项目也变化为LineageOS的账号,我们可以不重新下载代码,对一些地方进行修改就能顺利迁移。
这些步骤是github-Gist上的一个脚本,地址为脚本
我是编译THEA机型,测试通过。
步骤如下:
- Init the Lineage manifest:
repo init -u ssh://git@github.com/LineageOS/android.git -b cm-14.1
(or cm-13.0 if you prefer that) //一般情况下我们要修改为:repo init -u https://github.com/LineageOS/android.git -b cm-14.1
- Update your local manifest (
.repo/local_manifests/roomservice.xml
), if it exists - find and replace "CyanogenMod" with "LineageOS" globally. - Move the git objects:
mv .repo/project-objects/CyanogenMod .repo/project-objects/LineageOS
- vim ~/fixlinks.sh
-
输入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/bin/sh DIR=$1 echo $DIR cd $DIR for i in config description info logs objects packed-refs refs rr-cache shallow svn hooks; do orig=$(readlink $i) dest=$(echo $orig | sed 's/CyanogenMod/LineageOS/') if [ "$dest" '!=' "$orig" ]; then echo "Updated $i" rm $i ln -s $dest $i else echo "Skipping $i (not CM)" fi done
-
chmod +x ~/fixlinks.sh
cd .repo/projects
find . -name '*.git' -exec ~/fixlinks.sh {} \;
And finally, fix the actual tree:cd ../..
find * -name '.git' -exec ~/fixlinks.sh {} \;
repo sync
编译
需要重新source环境来在进行编译,防止出现错误。