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


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

相关文章推荐

CyanogenMod 10.1源码下载和编译

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

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

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

cm12.1源码下载编译

一、准备工作1.安装vmware12 2.下载ubuntu14.04 64位 3.安装ubuntu 14.04 设置系统配置 内存:4GB, 处理器:8, 硬盘:200GB(预先分配) 二、环境搭建安...

三星S5国行g9008v刷机(CyanogenMod12.1 Rom)

用了很长时间的官方的rom,android5.x。出于以下两点,我就鬼使神差的刷机了。 1.Android手机都这样,用的时间长了就会很卡,我的当然也不例外。 2.官方的rom其实界面我还是挺喜欢...
  • Dekyou
  • Dekyou
  • 2015年10月18日 18:19
  • 1225

Android开发之Android5.1.1(CM12.1)源码中短信发送流程解析

在上一篇http://blog.csdn.net/poison_h/article/details/50943909博客中,我们详细的阐述了,Android源代码下载已经编译的流程,如果还有不会的请看...

小马哥----高仿三星note3 n9002 9006主板型号A202 刷机后修复返回键失灵实例说明

高仿三星note3   主板型号A202 此机的日期版本较多   分单双卡版本区别 芯片为6589,刷错资料导致返回键失灵的原因是在于版本不同   有的则会触摸偏移 具体看识别图对比 此机本人修...

三星Note2 SCH-N719刷机教程

三星note2 SCH-N719手机刷机时遇到的一些问题总结,给自己总结,也给遇到相同问题的童鞋一些参考~...

三星n7102刷机教程

  • 2014年04月27日 03:41
  • 407B
  • 下载

三星n7100刷机

  • 2014年11月02日 11:43
  • 6.58MB
  • 下载

Ubuntu下CM编译环境的搭建和可刷机文件的编译及打包(For G7)

编译, Ubuntu, 环境, 文件    本文只是叙述Ubuntu下编译环境的搭建和ROM的编译过程,过程中可能会需要一些Ubuntu的常规操作技巧,在本文里就不详细介绍了,Ubuntu的新手可以通...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CM12.1源码编译并刷机到三星N5100
举报原因:
原因补充:

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