• recovey制作,转


    recovery 移植学习

    moto的手机实在不给力,我的手机也没大神们做recovery等,无聊的就打算自己做,找了很多教程,也算懂了一些,虽然最终也没成功,但仍学到了很多,再次将我遇到的一些问题简单说下。

    主要参考了http://hi.baidu.com/juicewb/item/bb711fb3c3efcce84fc7fdf1及文章里提出的几篇文章。

    我是在ubuntu 12.10 64位 系统来做这个的,建立好环境http://source.android.com/source/initializing.html

    1.在下载安卓的源码

    $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

    此命令有时候会连接不上,不懂怎么回事,这时就可以用以下命令,也是可以用的

    curl ”http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo” >~/bin/repo 

    同步源码 repo sync -j16 ,的确速度快很多,下载ics源码大约只用了两个多小时,比我的预料快很多。

    2.下载完源码,进入源码目录,执行

    ./build/envsetup.sh

    3.执行 make -j4 otatools,下面问题就多了,

    chen@chen-virtual-machine:~/cm$ make
    cc: 错误: unrecognized command line option ‘-mfloat-abi=softfp’
    cc: 错误: unrecognized command line option ‘-mfpu=neon’
    cc: 错误: unrecognized command line option ‘-mthumb-interwork’
    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=4.0.4
    TARGET_PRODUCT=full
    TARGET_BUILD_VARIANT=eng
    TARGET_BUILD_TYPE=release
    TARGET_BUILD_APPS=
    TARGET_ARCH=arm
    TARGET_ARCH_VARIANT=armv7-a
    HOST_ARCH=x86
    HOST_OS=linux
    HOST_BUILD_TYPE=release
    BUILD_ID=IMM76L
    ============================================
    Checking build tools versions...
    grep: build/target/board/generic/recovery.fstab: 没有那个文件或目录
    build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current 。 停止。

    这是由于gcc版本引起的,我换了旧版本的gcc没有出现这个问题。

    最后出现的问题是由于我的源码是直接拿过来的,重新同步prebuilt ,问题解决。

    "rm -rf prebuilt ; repo sync -l prebuilt"

    自己同步源文件的时候不会出现这个问题。

    继续执行 make -j4 otatools,

    中间若遇到cc错误的问题,均是gcc版本等问题引起。换gcc版本可以解决。

    4.之后生成out目录,在out/host/linux-x86/bin中有后面要用的工具。

    要将bin加入环境变量。

    gedit ~/.bashrc
    在文本最后添加:
    export PATH=$PATH: ~/android/system/out/host/linux-x86/bin
    保存退出,执行下面命令,让刚加的环境变量生效:
    source ~/.bashrc

    我按照上述操作,没有成功,我把环境变量添加在profile。

    5.提取官方boot.img。放到了~/ad/目录
    执行

    ./build/tools/device/mkvendor.sh zte n880e ~/android/boot.img
    命令参考:
    ./build/tools/device/mkvendor.sh device_manufacturer_name device_name /your/path/to/the/boot.img

    这都没有问题,在device之下会产生你的机型。

    修改机型下面的recovery.fstab,我是直接从官方recovery.img中提取的

    6.执行./build/envsetup.sh && lunch full_n880e-eng

    这时候问题又来了,

    1)提示 lunch"未安装"

    2)提示 full_n880e-eng不存在,

    第二个问题g了好久,才隐约知道问题所在,只能是自己太笨了。

    上述问题执行source build/envsetup.sh 问题就解决了。

    下面直接执行 lunch full_n880e-eng

    7.最后执行

    make -j4 recoveryimage

  • 相关阅读:
    红线行动开发文档
    团队作业1
    第二次作业:安装VS2015和使用自动测试管理工具
    简单介绍VS2015自动测试工具
    软件工程作业(一)
    三带一队 实验十 团队作业6:团队项目用户验收&BETA冲刺
    《三带一队》【Beta】Scrum meeting 4
    《三带一队》【Beta】Scrum meeting 3
    《三带一队》【Beta】Scrum meeting 2
    《三带一队》【Beta】Scrum meeting 1
  • 原文地址:https://www.cnblogs.com/xby1993/p/2821228.html
Copyright © 2020-2023  润新知