1、6
话说这次是做一个patchrom就是叫做插桩的一种方法,当然了,还是需要一个linux环境,上次在编译篇也说了,Ubuntu mint 或者其他都随意。如果硬盘够大还是推荐实体机装,如果硬盘不够的话用虚拟机也可以,不过要是编译的话就不推荐用虚拟机了,编译还是很吃配置的。
开源的patchrom目前比较活跃的有miui flyme tos等,我这里就写flyme的了,其他的我也没做过。
首先flyme的开源地址
要适配flyme需要有
1.手机(已root,最好是cm12.1 yog7d版本)
2. flyme源码
3.linux环境(我用的mint
2、
我们先同步Flyme的源码,切换成mint系统,创建一个文件夹比如叫做flyme,在flyme文件夹下打开终端 输入
通过repo init命令的-b参数, 选择需要下载的分支。 通过repo sync命令同步远程代码:
$ repo init -u -b lollipop-5.0
$ repo sync -c -j4
如果连接一直失败或下载代码过慢,则使用以下命令:
$ repo init --repo-url git:// \
-u \
-b lollipop-5.0 --no-
3、repo-verify
$ repo sync --no-clone-bundle -c -j4
然后就要下载一两个G的文件吧 具体时间看网速了,可能晚上同步比较快。下载的时候就是这样
同步是可以随时结束的,之后想要断点续传的时候只要进到文件夹里 输入repo sync就可以自动继续了,以后源码更新了也是用这个命令进行跟新。
下载完成后文件夹内目录是这样的
这样源码就下载完成了。之后我们要下载一个base cm(这个是干啥用的呢,别的大神用cm插成了flyme 他把他的做法分享出来,我们也用cm做flyme 这样就可以让它用base cm自
4、动帮我们解决很多冲突,所以我们用的cm和他分享的那个cm版本越接近,我们要自己解决的冲突就越少,大多数都被应用大神的方法解决了。)
下载base cm的方法和源码差不多 这是base cm的地址
我们要进入flyme/devices文件夹,打开终端,运行
git clone --single-branch -b lollipop-5.1
下载完成后把多出来的这个文件夹命名成base cm
Base cm也是会更新的,随着cm的更新可能会更换底包,如果你想让冲突最少就跟随他的底包走,使用相同版本的底包冲突应该就几个。Base cm更新要先进入devices/base cm文件夹
5、终端运行git pull就会自动更新了。如图
到这为止我们电脑上的准备工作就做好了。下一步是手机了,首先,刷一个cm 12.1现在底包用的是yog7d版本的cm12.1(不是说没有yog7d就不能做了 只要是cm12.1都可以,只是之后的冲突会多一些,其实不是cm12.1都行 5.1的就行,只是之后的冲突会多很多很多。。)然后打开开发者选项 设置-关于手机-版本号狂点几次,就可以打开开发者选项了。返回到设置,进入开发者选项,把adb提示打开,再把root权限打开,并且给adb root权限。然后就可以吧手机连上电脑了,之后手机上应该会弹出一个框,勾选一律允许此电脑啥啥啥的就可以了。
现在我们要创建一个机型目录。进入devices文件夹,创建一个机型的文件夹,比如我的手机叫victara