这一次给Nexus7 build4.4.4_r1出现的问题记载

来源:互联网 发布:win10 mac美化 编辑:程序博客网 时间:2024/06/06 04:18

上一次是build5.0的rom,大体上成功之后没作笔记,一股脑全忘了.这次又想build一下4.4的rom,我擦各种错啊,我还是写个笔记吧

一,知识准备:

  本人设备nexus 7 flo, 想要build 4.4的系统,于是在https://source.android.com/source/build-numbers.html 中查看,发现只有

       KTU84P android4.4.4_r1符合要求 ,这个对应android源码branch android-4.4.4_r1,所以要切换到这个分支的源码.(我当时源码是master,也就是default反正没切换过的)


二,然后就是切换源码的branch了,这个我确实是不熟练,还是参照网上的

  先进入源码根目录下的.repo/manifests ,然后git branch -a ,就可以看到自己要用的哪处方分支了

  再回到源码根目录,repo init -b  origin/android-4.4.4_r1 ,就会把清单切换到4.4.4_r1了,再repo sync,看网速下载一阵子,就同步好源码了.


三,开始build准备,这里依赖啊什么的就先不那个了,主要说出问题的地方:

  1,首先android 4.4是要求sun jdk 6.0的,而android 5.0是要求openjdk 7.0以上的,我上次弄完了openjdk的,这次得把java换回来,这里我就按照以前的,把java 换了

  但后来又说javac不行,又重新弄的javac,再然后check完毕后,在编译过程中出错误了,据说是javadoc又不行,我又弄了一遍javadoc..后来这里没问题的.java,javac,javadoc这三个一定都得配好

  是这个log:out/target/common/obj/PACKAGING/public_api.txt:23556: error 12: Class android.telephony.gsm.SmsMessage changed static qualifier

  http://www.mikewootc.com/wiki/android/basic/compile_faq.html 是上边的第9个问题 ,就是javadoc没有配好


  2,一晚上醒来发现没编成功..说在等待未完成任务,又说没有可交换内存了(大体这么个意思)然后就error中止了,我还是挺敏感的,一下就感觉到,我8g内存还开着chrome,而且我ubuntu上没有设swap,于是我又找帖子学怎么设swap,我设了25G,生效了,起码build过程过去了 

   https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04

   http://www.cyberciti.biz/faq/ubuntu-linux-create-add-swap-file/  这两个都好

           https://help.ubuntu.com/community/SwapFaq  这个也详细


  3,第二次编译完之后,刷机时出的问题,我已经注意到编译出来的东西不是flo,是generic rom了,但我还是用fastboot -w flashall 去试着刷了,果然出问题了

boot.img找不着..后来我发现根本就没编译出来这个img,后来证明是make clobber是会把我已经释放了的驱动也清除的,所以我build了个没驱动的东西,于是我又

make clobber,再把三个驱动脚本重新释放一下(这两个顺序不能错额),ok了


  4,还有一个在build过程完毕后,刷机时,找不着read_info.txt的问题,我配了个ANDROID_PRODUCT_OUTPUT环境变量,指向out目录.不过我同时也觉得是权限问题,在make 开始编译时,如果不用sudo ,源码和驱动中的一些权限根本没法读取,所以我开始就是用sudo,但sudo的话环境变量就和我的用户环境变量不同了...导致ANDROID_PRODUCT_OUTPUT这个环境变量找不着(这东西确实本不该我设吧),所以我还是在make clobber,并把驱动释放之后,我又sudo chmod 777  -R   源码根目录 了一下,我觉得这个是解决这个问题最重要的

              http://stackoverflow.com/questions/5846197/error-could-not-load-android-info-txt 

       我参考了上边弄了个环境变量,但是我觉得还是权限的问题

  

  最终如愿在我n7上刷出了android 4.44_r1的rom

0 0
原创粉丝点击