zoukankan      html  css  js  c++  java
  • Android系统源码编译全过程——下载Android源文件并编译

     编译Android系统源码需要以下工具:git工具,repo工具,java sdk,主机编译工具等
    我的实验环境是ubuntu 10.10,步骤如下
    1.打开终端输入
    alex@alex-Linux:~$ sudo -i
    root@alex-Linux:~$ apt-get install git-core flex bison gperf libesd0-dev zip
    root@alex-Linux:~$ apt-get install libwxgtk2.6-dev zlib1g-dev build-essential libstdc++5
    root@alex-Linux:~$ apt-get install tofrodos x-dev libx11-dev libncurses5-dev
    root@alex-Linux:~$ apt-get install sun-java5-jdk
    如果在上述过程中提示无法找到源,请参阅在源配置中添加ubuntu9.04源
    2.编译Android系统源码官方推荐使用Java5.如果本机安装了Java6,应将其配置成java5.需要卸载java6
    alex@alex-Linux:~$ apt-get remove sun-java6-jdk
    3.配置java环境
    root@alex-Linux:/etc/apt# update-alternatives --config java
      选择       路径                                    优先级  状态
    ------------------------------------------------------------
    * 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自动模式
      1            /usr/lib/jvm/java-1.5.0-sun/jre/bin/java   53        手动模式
      2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手动模式
      3            /usr/lib/jvm/java-6-sun/jre/bin/java       63        手动模式
    选择1
    4.Android系统源码在编译过程中需要编译主机工具,所以还需要主机打gcc工具链,而对于编译目标机文件,ANdroid在prebuilt目录中集成了gcc交叉编译工具链。repo是对调用git打封装打工具,安装repo
    alex@alex-Linux:~$ sudo -i
    root@alex-Linux:~# cd /bin
    root@alex-Linux:/bin# curl http://android.git.kernel.org/repo > ~/bin/repo
    如果提示curl未安装,请输入sudo apt-get install curl
    设置bin/repo的可执行权限alex@alex-Linux:~/bin$ chmod a+x ~/bin/repo
    5.下载Android源码 代码库打路径为android.git.kernel.org 可以通过网页浏览代码库的内容。在用户主目录新建androidsource进入该目录
    alex@alex-Linux:~/androidsource$ repo init-u git://android.git.kernel.org/platform/manifast.git
    当出现Your Name [xxx]:
    Your Email[xxx@xnadevelop.com]:时输入相应用户名和Email,经过repo init后,执行repo sync 下载Android系统源文件
    时间很长,请耐心等待。
    下载完毕后进入源码所在目录输入make
    进行编译。时间很长,同样请耐心等待。
    最后输出一下文字
    target SharedLib: sensors.mahimahi (out/target/product/generic/obj/SHARED_LIBRARIES/sensors.mahimahi_intermediates/LINKED/sensors.mahimahi.so)
    target Non-prelinked: sensors.mahimahi (out/target/product/generic/symbols/system/lib/hw/sensors.mahimahi.so)
    target Strip: sensors.mahimahi (out/target/product/generic/obj/lib/sensors.mahimahi.so)
    Generated: (out/target/product/generic/android-info.txt)
    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





  • 相关阅读:
    JavaScript进行表单提交
    《构建之法》读书笔记2
    一个简单的session传值学习
    javascript相关正则收集
    LINQ中join语法大探究(多表关联),也有不少疑问
    c#排序算法详细探究
    js获得文本框中光标的位置
    linq to sql基本的操作(读,添加,删除,更新)
    不用保存直接读取文件内容
    终于搞明白ajax拉
  • 原文地址:https://www.cnblogs.com/AlexCheng/p/2120064.html
Copyright © 2011-2022 走看看