CM12.1源码编译并刷机到三星N5100

原创 2015年07月10日 17:21:32

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

三星tab 8.9 P739安装安卓4的CM ROM

三星Tab 8.9 P739是三星为中国电信3G定制的一款平板,很早就停止更新了,最新的ROM版本还是android 3.2版本。同系列的8.9寸平板还有P7300支持联通3G+wifi,P7310只...
  • boyStray
  • boyStray
  • 2017年07月24日 09:17
  • 934

美版S4 (SCH-R970) 刷机完全教程(非常详细)

美版S4 (SCH-R970) 刷机完全教程
  • u010185803
  • u010185803
  • 2016年02月18日 15:14
  • 1891

CyanogenMod 10.1源码下载和编译

说明:1)本流程以编译三星note2 (N7100)的ROM为例来介绍编译流程       2)假定CM10.1所在代码的根目录为/root/cm-10.1   一、CM-10.1源码下载 网上很多相...
  • ncepu307
  • ncepu307
  • 2014年12月26日 09:01
  • 2572

三星note3 n9009刷机教程-救砖教程(by 星空武哥)

今天在公司使用三星的note3手机进行测试,由于需要root,于是使用360root--没成功,然后换成root大师,MD手机就变成板砖了。哎,郁闷死了还没有使用手机就坏了,于是就开始研究三星手机的线...
  • lsyz0021
  • lsyz0021
  • 2016年06月01日 17:35
  • 3783

小马哥---高仿三星s7系列刷机机型展示说明与真假辨别方法 精仿系列版本

三星S7正品行货采用曲面屏,而精仿系列版本中也有此款与行货外观1:1的版本 芯片采用6735芯片 2g运存 8g内置内存 1300万像素 高仿s7的版本很多 涵盖6580  6735 高通等等芯片...
  • u011283906
  • u011283906
  • 2016年08月19日 09:58
  • 12085

三星Note2 SCH-N719刷机教程

三星note2 SCH-N719手机刷机时遇到的一些问题总结,给自己总结,也给遇到相同问题的童鞋一些参考~...
  • hzj1_happy
  • hzj1_happy
  • 2015年12月14日 22:14
  • 1313

Android开发之Android5.1.1(CM12.1)源码下载及其编译详细流程

由于工作的需要,需要对Android framework层的源代码就行修改。所以需要下载Android的源代码并进行编译。 其实网络上的这种教程也是很多了,本来我也不打算写得,但是老总一直喊我总结一...
  • Poison_H
  • Poison_H
  • 2016年03月21日 11:02
  • 9429

基于Samsung平台CM11.0编译ROM及刷机全过程

如果你想自己编译CM11.0,如果你想刷第三方ROM,那么我将在这篇文章带你一起探讨。也许这篇文章有点偏向与纯技术方面的经验,但对于大家对android编译原理及刷机还是很有帮助的。对于刷机教程那块网...
  • bfboys
  • bfboys
  • 2016年09月17日 17:16
  • 246

三星i9300i线刷港行4.4(国行也能刷)+ 刷TWRP + root(刷机、救砖教程亲测)

一、准备: 港版4.4一体包TGY-I9300i-ZHUBNI2:http://pan.baidu.com/s/1pJ2XGbp (全套谷歌服务) 第三方Recovery(TWRP)及ROOT包:...
  • u014077888
  • u014077888
  • 2015年04月19日 16:40
  • 2885

三星S5 电信版(G9009D)Android 5.0系统,root教程【亲测可行】

本人用三星S5手机做安卓应用开发,发现没有root权限调试时有诸多不便,于是决定要获取root。找遍了所有一键root工具均无可用方案。最后卡刷root包成功,记录如下。...
  • guomutian911
  • guomutian911
  • 2015年09月04日 13:44
  • 2005
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CM12.1源码编译并刷机到三星N5100
举报原因:
原因补充:

(最多只允许输入30个字)