CM12.1源码编译并刷机到三星N5100
来源:互联网 发布:安卓graviboard软件 编辑:程序博客网 时间:2024/05/29 14:34
CM12.1源码已经下载获得(goagent倒腾了好久,因为在学校校园网流量限制,我傻呀,可以使用ipv6下载源码呀 浪费我两天时间,用了ipv6 下载好了)
编译参考链接:
官网链接: http://wiki.cyanogenmod.org/w/Build_for_n5100#Download_the_source_code
博客链接: http://blog.csdn.net/andie_guo/article/details/16879443
http://blog.sina.com.cn/s/blog_4ba5b45e0102ejbb.html
http://blog.sina.com.cn/s/blog_4ba5b45e0102ejbb.html
http://jingyan.baidu.com/article/454316ab51e578f7a7c03a2c.html
http://sunzeduo.blog.51cto.com/2758509/1349134
http://blog.sina.com.cn/s/blog_4aacf4fd0101kvrf.html
http://wv1124.iteye.com/blog/1944448
第一步:$ source build/envsetup.sh
$ breakfast n5100 //从github上下载对应手机的设备的驱动和内核;
//注意 必须是CM官方支持升级到cm10.1的设备才能使用这个命令下载到//内核和驱动!!!) (只需执行一次,以后编译无需执行)
【注:官网给的 $ cd ~/android/system/vendor/cm $ ./get-prebuilts
针对的CM11或者以下的版本,我这里编译的是CM12.1,所以不需要哦。 】
插曲: 对java版本有特别的要求
update-alternatives --config javac update-alternatives --config java
按照该连接进行配置: https://source.android.com/source/initializing.html
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-openjdk-amd64/bin/java 50
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 50
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-7-openjdk-amd64/bin/jar 50
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java-7-openjdk-amd64/bin/javah 50
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java-7-openjdk-amd64/bin/javap 50
第二步: ./extract-files.sh
执行这条命令的前提是N5100上已经刷上了CM12.1的ROM(错误,没有要求手机上必须刷了CM的ROM)
(原来是个样子呀,人家源码的就不行吗?可是我现在已经开始编译了,肿么办。编完再看吧。应为之前 N5100刷过机,有可能歪打正着就可以了呢。。)
cd cm-10.2/device/samsung/n5100
chmod a+x extract-files.sh
./extract-files.sh //从手机里面进行拉包操作
// (这条命令实际上都是组织好的的adb pull,它将真机中的部分库和依赖文件拷贝到本地源码环境,辅助编译!因为部分库和依赖文件的源码我们无法获取,
//相关厂商只提供了这些编译好的东东!这一部很重要,如果跳过,即时编译ROM成功,刷机后手机也跑不起来的!) (只需执行一次,以后编译无需执行)
第三步: 不要按照第一步第二步的方法了一个个下载了,breakfast命令下载东西巨慢无比,
直接下载下面的文件分别放到对应的目录下:
/device/samsung/n5100/device/samsung/nkona-common
/device/samsung/smdk4412-common
/kernel/samsung/smdk4412
/vendor/samsung/n5100 【下面的连接来自这个博客:http://blog.sina.com.cn/s/blog_4ba5b45e0102ejbb.html】
/vendor/samsung/kona-common 【proprietary_vendor_samsung-cm-12.1 .zip】
/vendor/samsung/smdk4412-common
目前存在的问题:
问题一: device/samsung/n5100/proprietary-files.txt 下罗列出来的.so库就是需要使用extract-files.sh脚本从上搞出来的
然后放到/vendor/samsung/n5100/proprietary/system/lib/下 现在我的两个不符。
解决办法: 一般不会出现这种错误,但是不知道为啥n5100下载的device/n5100/proparietary_files.txt文件夹下面列出来的.so库通过github下载
(proprietary_vendor_samsung-cm-12.1 .zip),或者通过./extract-files.sh都得不到。。所以我就把proprietary-files.txt里面的.so改成了我能获得vendor
里面能获得的。
问题二: /home/leiqing/CM12.1_Android/kernel/samsung/smdk4412/include/linux/sched.h:89:27: fatal error: linux/hrtimer.h: No such file or directory #include <linux/hrtimer.h> 等相关的kernel报错。 解决办法: 这类kernel问题都是因为自己解压压缩包的时候不知道咋地出了问题,导致解压后少了部分文件。。重新正确解压就好。
第一次发现出错居然时因为这么奇葩的错误。看来任何地方都得消息。
unzip解压出来的有问题(ubuntu版解压工具可能有问题,需要下载个专门的zip解压)
apt-get install p7zip-full
解压缩 :7z -x android_kernel_samsung_smdk4412-cm-12.1.zip
问题三: #<asm/sam.h>文件不存在
解决办法: 通过看github看 asm升级为 asm-generic,将文件中头文件出现asm改成asm-generic即可。
编译成功:
<span style="font-family:SimSun;">Package Complete: /home/leiqing/CM12.1_Android/out/target/product/n5100/cm-12.1-20150718-UNOFFICIAL-n5100.zip#### make completed successfully (01:19:10 (hh:mm:ss)) ####</span>
第四步: 刷机
// 1.手机设置出厂设置
// 2.手机recovery模式后,及时把.zip放到sdcard里面,似乎也识别不了。 【 apply update from external storage 】
adb push cm-12.1-20150703-NIGHTLY-n5100.zip /sdcard/update.zip
or:adb push cm-12.1-20150703-NIGHTLY-n5100.zip /sdcard/
// 3.手机进入recovery模式(三键齐按) 进入:apply update from ADB http://bbs.gfan.com/android-7053154-1-1.html
adb sideload cm-12.1-20150703-NIGHTLY-n5100.zip
失败:E: failed to verify whole-file signature
E:signature verification failed
解决办法:百度说这种原因: recovery的签名认证问题, 刷非官方包需要换个recovery版本。即先替换非官网的recovery。
// 从上面一步步走到底下的整整的
4.首先要安装第三方recovery,三星官网的recovery不支持其他刷机包进行给手机刷机。
odin ID:COM不显示 主要是手机驱动有问题。
http://bbs.gfan.com/android-7975235-1-1.html 音乐下键------>刷入recovery模式。 音乐上键----->进入recovery模式。
注意: 必须双清后才能进行刷机,否则一直报失败。
好激动,刷机成功。。。赶紧下载了qq和男票视频了下,纪念下。。
很久没接触,居然连编译命令都忘了,罪过罪过:
1. source build/envsetup.sh
2. croot
3. brunch n5100
- CM12.1源码编译并刷机到三星N5100
- cm12.1源码下载编译
- cm12 for 三星n7100编译
- 编译cm12.1
- Android开发之Android5.1.1(CM12.1)源码下载及其编译详细流程
- cm12级cm13源码下载、环境搭建及编译
- 编译cm12.1时 libcryptfs_hw_intermediates 报错解决方法
- [编译CM12.1笔记]No targer to make 错误的解决办法(一)
- Android开发之Android5.1.1(CM12.1)源码中短信发送流程解析
- Android开发之Android5.1.1(CM12.1)源码中短信发送流程解析
- Android CM12.1 关机流程
- 1 如何源码编译并部署red5
- XT1085 CM12.1 ROM发布_20151028
- I9500联通定制版刷cm12.1
- 如何编译 cm12 (for 一加手机)
- chromium源码下载并编译
- 下载并编译Android 2.3源码
- 下载最新的firefox源码并编译
- 程序日志--ios“打开网页url连接”程序
- 一个sql语句同时实现两条数据的某个字段值交换
- Redis远程连接
- RippleView(波纹按钮)的效果实现
- 燎原之星星火种
- CM12.1源码编译并刷机到三星N5100
- ios6方向旋转问题
- Android Bander设计与实现 - 设计篇
- mongodb备份与恢复(下)—ttlsa教程系列之mongodb(九)
- rbac权限设计思路
- [leetcode] 132.Palindrome Partitioning II
- hdu4497 GCD and LCM
- JSP页面中预览本地图片
- 暑假期望和学习