zoukankan      html  css  js  c++  java
  • 编译android2.3.5系统源代码与goldfish2.6.29内核笔记

    参考博客:http://blog.csdn.net/luoshengyang/article/details/6559955

    android2.3.5系统源代码点击这里下载 , 共7个包,解压后6g

    VirtualBOX安装ubuntu12.04,下载jdk1.6, 参考这里安装

    用linux终端安装以下工具

    sudo apt-get install gnupg flex gnupg bison gnupg gperf gnupg libsdl-dev gnupg libesd0-dev libwxgtk2.6-dev build-essential gnupg zip gnupg curl gnupg libncurses5-dev gnupg zlib1g-dev minicom gnupg tftpd gnupg uboot-mkimage expect git-core

    如上图所示,mydroid为android源码

    连接java,在终端中输入

    cd /usr/bin
    sudo ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/jar
    sudo ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/javadoc
    sudo ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/javah

    修改文件

    cd ~/mydroid
    --------------------------------
    gedit frameworks/base/libs/utils/Android.mk
    将下面这一行
    LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)
    改为
    LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
    -----------------------------
    gedit build/core/combo/HOST_linux-x86.mk 61行,将
    HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
    修改成
    HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
    --------------------------------

    改完直接在终端输入make开始编译,成功后会出现类似如下信息(第一次编译需要两小时左右)

    Target system fs image:    out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img
         Install system fs image: out/target/product/generic/system.img
         Target ram disk: out/target/product/generic/ramdisk.img
         Target userdata fs image: out/target/product/generic/userdata.img
         Installed file list: out/target/product/generic/installed-files.txt 

    编译完后要设置模拟器路径
    export PATH=$PATH:~/mydroid/out/host/linux-x86/bin
    镜像存放位置
    export ANDROID_PRODUCT_OUT=~/mydroid/out/target/product/generic
    运行模拟器
    emulator


    编译goldfish2.6.29内核

    参考博客:http://blog.csdn.net/luoshengyang/article/details/6564592

    在mydroid文件夹内新建文件夹kernel并在终端cd到里面去

    下载goldfish2.6.29

    git clone http://android.googlesource.com/kernel/goldfish.git
    cd  goldfish
    git branch -a
    git checkout remotes/origin/archive/android-gldfish-2.6.29
    (不一定是 remotes/origin/archive/android-gldfish-2.6.29,视git branch -a输出信息而定)

    在终端cd到goldfish文件夹中去并修改目录下的makefile文件(注意arm前有空格)

    ARCH        ?= arm
    CROSS_COMPILE    ?= arm-eabi-

    开始编译
    make goldfish_defconfig
    make

    编译成功后会输出如下类似信息

    OBJCOPY arch/arm/boot/zImage
    Kernel: arch/arm/boot/zImage is ready

    完成后cd回mydroid,设置

    模拟器位置
    export PATH=$PATH:~/mydroid/out/host/linux-x86/bin
    系统文件位置
    export ANDROID_PRODUCT_OUT=~/mydroid/out/target/product/generic
    设置内核启动模拟器
    emulator -kernel ./kernel/goldfish/arch/arm/boot/zImage &

  • 相关阅读:
    cd /etc/init.d查看centos下自己注册的服务
    添加提前闭合标签 之后添加js可以执行js
    networkinterface 获取本机ip
    docker学习遇到的问题
    乌班图安装
    c3p0连接错误 An attempt by a client to checkout a Connection has timed out.
    【Spring开发】—— Spring注入静态变量
    mysql命令行导入导出
    IE8下不支持console.log()
    菜鸟教程
  • 原文地址:https://www.cnblogs.com/tomboy/p/2711222.html
Copyright © 2011-2022 走看看