• 编译Android源代码


    硬盘空间需要在50G以上,最好100g

    系统:ubuntu14.04

    交叉工具链:arm-linux-gcc-4.5.1-v6-vfp-20120301

    安装 Java 开发环境

    $ sudo apt-get install openjdk-7-jdk openjdk-7-jre

    首先准备android-5.0.2-fs-20150325.tar.gz 文件

    解压

    $ tar xzf android-5.0.2-fs-20150325.tar.gz

    Ubuntu 下的解压内核并编译,命令为:

    $ tar xzf linux-3.0.86-20150324.tgz
    $ cd linux-3.0.86/
    $ cp tiny4412_android_defconfig .config
    $ make zImage

    产生zImage文件在/arch/arm/boot目录下

    编译 Android 系统

    进入上述解压得到的 android-5.0.2, 执行以下命令(注意: “.”号后有一个空格)

    $ . setenv

    再执行“lunch”命令, 输入“full_tiny4412-eng”前的数字标号, 如下所示:

    $ lunch
    You're building on Linux
    Lunch menu... pick a combo:
    1. aosp_arm-eng
    2. aosp_arm64-eng
    3. aosp_mips-eng
    4. aosp_mips64-eng
    5. aosp_x86-eng
    6. aosp_x86_64-eng
    7. full_tiny4412-userdebug
    8. full_tiny4412-eng
    9. aosp_mako-userdebug
    10. aosp_hammerhead-userdebug
    11. aosp_tilapia-userdebug
    12. aosp_grouper-userdebug
    13. aosp_deb-userdebug
    14. full_fugu-userdebug
    15. aosp_fugu-userdebug
    16. aosp_flo-userdebug
    17. aosp_shamu-userdebug
    18. aosp_manta-userdebug
    19. mini_emulator_mips-userdebug
    20. mini_emulator_x86_64-userdebug
    21. mini_emulator_arm64-userdebug
    22. m_e_arm-userdebug
    23. mini_emulator_x86-userdebug
    Which would you like? [aosp_arm-eng] 8

    接着执行“make”命令开始编译,也可以在 make 后加上“-j”参数利用 CPU 的多核加快编译
    速度,比如在 4 CPU 上可以执行“make –j4”
    注意: 编译过程可能持续 45 个小时。
    最后,执行以下命令生成映象文件:

    $./gen-img.sh

    注意: 如果提示如下错误,要先编译 u-boot 以得到 mkimage 工具, 方法见后。
    ./gen-img.sh: line 31: mkimage: command not found
    编译 u-boot 以得到 mkimage 工具的方法:

    $ tar xzf uboot_tiny4412-20130729.tgz
    $ cd uboot_tiny4412/
    $ make tiny4412_config
    $ make
    $ sudo cp tools/mkimage /usr/bin/ 
     uboot_tiny4412-20130729.tgz在uboot工具中

    最终在android-5.0.2目录下产生

    android studio工程索引文件
    android.ipr android.iml

     系统镜像文件  system.img  ramdisk-u.img   userdata.img  userdata-4g.img  userdata-8g.img  userdata-16g.img

     
  • 相关阅读:
    CloudFlare防护下的破绽:寻找真实IP的几条途径
    用Log Parser Studio分析IIS日志
    Log Parser 2.2 + Log Parser Lizard GUI 分析IIS日志示例
    wordPress Development
    MyISAM 与 InnoDB 的区别
    ubuntu安装wiz笔记
    chown命令
    (转载)我们工作到底为了什么
    DS_Store 是什么文件
    Linux命令 ,在当前目录下查找一个,或者多个文件
  • 原文地址:https://www.cnblogs.com/CZM-/p/7551552.html
Copyright © 2020-2023  润新知