小米4c刷了cm13后可以直接卡刷cm12.1谷歌服务卡刷包不?

小米4C刷了CM13怎么安装xposed_百度知道高级手机控
扫码下载App一键签到 升级加速
小米手机系列每周精华汇总
Show出你的开箱评测赢大奖
小米4S常见问题解答
刷“【Cyanogenmod】CM13.0 For 小米4C、小米4S、小米4”电信卡不能用
扫一扫!手机看帖更爽
小米4c手机刷了一笑而过的“”ROM,本来卡一插联通,卡二插电信,联通4G上网,电信打电话。刷了这个ROM后,电信卡没信号,拨打提示已关机。卡一卡二换了位置,电信信号一直不好。求教!谢谢!
扫描二维码,手机查看本帖
·来自小米手机4 4G版
楼主,cm不适合你咋
京ICP证110507号 京ICP备号EmbeddedSystem(55)
小米4是Cyanogenmod官方支持的Device,所以编译无需我们做Device specific适配,我们只需要提取代码(Android 与Kernel),获取proprietary binary files即可编译。&
小米4以及小米3的设备名字都是cancro,CM对于这两款设备的WIki位于:
https://wiki.cyanogenmod.org/w/Build_for_cancro
步骤与错误解决
1. breakfast VS proprietary files
先获取proprietary binary files然后再breakfast,否则会出现错误。
2. 提取proprietary file的错误解决
提取有两种方法:
一种是手机刷入cm12.1系统后使用adb pull获取
一种是直接解压cm编译的ota包,然后从里面的system.new.dat中获取
其中第二种方法更为方便,但是我们需要将system.new.dat转换成system.img
new.dat与默认的system.img的区别
主要在于一个是为了减小size而对内部中的内容进行了压缩,而system.img则没有压缩。
new.dat与默认的system.img的转换方法
因为是zip包,在linux下面我们使用unzip来完成
unzip -d cm12.1 cm-12.1--SNAPSHOT-YOG7DAO1K6-cancro.zip
cm-12.1--SNAPSHOT-YOG7DAO1K6-cancro.zip
signed by SignApk
extracting: cm12.1/system.patch.dat
inflating: cm12.1/META-INF/com/android/metadata
inflating: cm12.1/META-INF/com/google/android/update-binary
inflating: cm12.1/META-INF/com/google/android/updater-script
inflating: cm12.1/META-INF/org/cyanogenmod/releasekey
inflating: cm12.1/boot.img
inflating: cm12.1/file_contexts
inflating: cm12.1/install/bin/backuptool.functions
inflating: cm12.1/install/bin/backuptool.sh
inflating: cm12.1/install/bin/nfcchecker.sh
inflating: cm12.1/install/bin/otasigcheck.sh
inflating: cm12.1/install/bin/resize2fs_static
inflating: cm12.1/system.new.dat
inflating: cm12.1/system.transfer.list
inflating: cm12.1/system/build.prop
inflating: cm12.1/META-INF/com/android/otacert
inflating: cm12.1/META-INF/MANIFEST.MF
inflating: cm12.1/META-INF/CERT.SF
inflating: cm12.1/META-INF/CERT.RSA
使用python脚本sdat2img来完成
sdat2img.py system.transfer.list system.new.dat system.img
Skipping command erase
Copying 32767 blocks into position 0...
Copying 2 blocks into position 32768...
Copying 2 blocks into position 32809...
Copying 32212 blocks into position 33323...
Copying 2 blocks into position 65536...
Copying 20457 blocks into position 66050...
Copying 2 blocks into position 98304...
Copying 2 blocks into position 98345...
Copying 32212 blocks into position 98859...
Copying 2 blocks into position 131072...
Done! Output image: /home/hexiongjun/android/CM_XiaoMi4/cm12.1/system.img
这样就有了我们需要的system.img文件了
mount到system目录
sudo mount -t ext4 system.img
拷贝Proprietary Files
脚本extract-files.sh本身就有从local directory拷贝的功能,但是实际上我们运行的时候会有错误
./extract-files.sh -d /home/hexiongjun/android/CM_XiaoMi4/cm12.1/system
cp: cannot stat ‘/home/hexiongjun/android/CM_XiaoMi4/cm12.1/system/system/vendor/lib/libthermalioctl.so’: No such file or directory
提示说找不到某某某文件,我们可以find一下
$ find -name libthermalioctl.so
./system/vendor/lib/libthermalioctl.so
认真细看一下就知道其实是路径问题
因此我们更改前面使用的方式
]$ ./extract-files.sh -d /home/hexiongjun/android/CM_XiaoMi4/cm12.1/
cp: cannot stat ‘/home/hexiongjun/android/CM_XiaoMi4/cm12.1//system/vendor/lib/rfsa/adsp/libscveT2T_skel.so’: No such file or directory
可以看到前面的已经找到了,但是还是有其他文件找不到,同样的find之后我们知道也是路径问题,因此我们可以直接更改device-proprietary-files.txt文件来修正这个问题,也可以手动拷贝。
当然还有更为容易解决的方式
查看脚本,我们可以知道它的路径都是按照实机来的,而实机中像vendor这种目录是位于/vendor中,且这个vendor是/system/vendor的soft link,同样的还有etc等目录:
shell@flo:/ $ ll /
drwxr-xr-x root
15:30 acct
drwxrwx--- system
22:59 cache
lrwxrwxrwx root
13:00 charger -& /sbin/healthd
dr-x------ root
15:30 config
lrwxrwxrwx root
15:30 d -& /sys/kernel/debug
drwxrwx--x system
15:30 data
-rw-r--r-- root
13:00 default.prop
drwxr-xr-x root
lrwxrwxrwx root
15:30 etc -& /system/etc
-rw-r--r-- root
-12-31 13:00 file_contexts
drwxrwx--x system
15:30 firmware
-rw-r----- root
-31 13:00 fstab.flo
-rwxr-x--- root
9-12-31 13:00 init
-rwxr-x--- root
-31 13:00 init.cm.rc
-rwxr-x--- root
-31 13:00 init.environ.rc
-rwxr-x--- root
13:00 init.flo.diag.rc
-rwxr-x--- root
-31 13:00 init.flo.power.rc
-rwxr-x--- root
-12-31 13:00 init.flo.rc
-rwxr-x--- root
-31 13:00 init.flo.usb.rc
-rwxr-x--- root
-12-31 13:00 init.rc
-rwxr-x--- root
13:00 init.superuser.rc
-rwxr-x--- root
-31 13:00 init.trace.rc
-rwxr-x--- root
-31 13:00 init.usb.rc
-rwxr-x--- root
13:00 init.zygote32.rc
drwxrwxr-x root
lstat '//persist' failed: Permission denied
dr-xr-xr-x root
13:00 proc
-rw-r--r-- root
-31 13:00 property_contexts
drwxr-xr-x root
drwx------ root
19:39 root
drwxr-x--- root
13:00 sbin
lrwxrwxrwx root
15:30 sdcard -& /storage/emulated/legacy
-rw-r--r-- root
13:00 seapp_contexts
-rw-r--r-- root
13:00 selinux_version
-rw-r--r-- root
9-12-31 13:00 sepolicy
-rw-r--r-- root
-12-31 13:00 service_contexts
drwxr-x--x root
15:30 storage
dr-xr-xr-x root
drwxr-xr-x root
16:50 system
lrwxrwxrwx root
15:30 tombstones -& /data/tombstones
-rw-r--r-- root
-31 13:00 ueventd.flo.rc
-rw-r--r-- root
-31 13:00 ueventd.rc
lrwxrwxrwx root
15:30 vendor -& /system/vendor
因此我们可以手动建立软链接来快速解决这个问题:
system/etc etc
system/vendor/ vendor
但是最终我们发现有一些文件就是不存在与cm的OTA zip包中,这个时候我们还是需要从设备中pull上来。
同时还需要注意的是一些bin文件本身对others没有读权限,因此可以在adb shell中使用find找到,却无法pull上来,这个时候就需要将adb切成root:
然后再执行脚本。
同时因为脚本中配置了
因此一些文件不在/system/lib等目录不会再到/system/vendor/lib中去查找了,因此,我们需要将这行去掉。
因为前面二进制文件的路径不正确,编译的时候会有类似下面的错误:
make: *** No rule to make target `vendor/xiaomi/cancro/proprietary/app/qcrilmsgtunnel.apk', needed by `/home/hexiongjun/android/cm13.1/out/target/product/cancro/obj/APPS/qcrilmsgtunnel_intermediates/package.apk'.
make: *** Waiting for unfinished jobs....
make: Leaving directory `/home/hexiongjun/android/cm13.1'
#### make failed to build some targets (02:11 (mm:ss)) ####
对此我们需要手动mv对应文件到正确位置才能继续编译。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:81186次
积分:1749
积分:1749
排名:第16391名
原创:91篇
评论:48条
阅读:5550
文章:20篇
阅读:22258
(7)(9)(1)(4)(33)(6)(17)(3)(3)(6)(1)(2)小米4完整刷入CM13及谷歌框架教程!_cyanogenmod吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:25,989贴子:
小米4完整刷入CM13及谷歌框架教程!收藏
发图片的原因是,在MIUI吧被删了两次。。。
这么好的帖子,居然没回复。。。睡觉!
粗粮电信4G帮顶,话说电信版可以用
我的小米4到手后用了一天miui就换成cm13了,我是手动调的分区我一直用nightly版本,遇到的唯一的bug就是开了livedisplay后,休眠后唤不醒来电归属也有,相机正常, 4G正常, 没有遇到不兼容的应用总体感觉很好
楼主能不能把你的谷歌那个包给我,我下载没有速度
怎么刷??
还没刷谷歌服务,请问刷了有什么用么
用过CM的都知道怎么刷,谢谢楼主。
不知道谷歌服务包怎么选择
同情,被删贴二次
米4 cm帮顶
我想问一下,怎么都刷不近twrp recovery是怎么回事呢
试了好多遍,才把recovery刷进去,而且是不是版本的问题,我刷进去的是twrp 2.8.7,卡刷的过程并不一样啊,看的这个
吧务只是删帖已经算客气的了
为什么要刷谷歌包,直接提取国际版miui的5个谷歌app一个个安装就好了,安全无病毒
卡刷谷歌包有mi4C的?Google play服务老是停止运行。
为什么需要两个rec?!
---贴吧极速版 For UWP
用秋大的rec可以刷入cm13和gapps么?!两个rec感觉好麻烦。。。
---贴吧极速版 For UWP
耗电怎么样
电信的刷碗没信号,需要补丁
刷完还保修吗
为什么我刷了谷歌服务包后感叹号还在,谷歌帐号用不了
感叹号跟谷歌服务框架没关系!因为连不上谷歌的服务器,系统就以为你上不了网。下一个叹号杀手解决
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或安装了很多谷歌套件!谷歌play总是停止运行!
这是通病,解决办法是先刷CM13然后刷gapps最后双清一次再开机。
已有帐号?
无法登录?
社交帐号登录
年轻人的荷尔蒙真是肮脏。}

我要回帖

更多关于 cm 卡刷谷歌 ota 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信