zoukankan      html  css  js  c++  java
  • android2.3源码下载编译全过程(附图及文档)修改版

    1安装下载源码所需要的工具 
    1.1
       sudo apt-get install git-core curl
       这条命令会从互联网的软件仓库中安装 git-core 和 curl
    1.2
       mkdir ~/bin
       PATH=~/bin:$PATH
       在home目录下建立bin目录并设置环境变量
    1.3
      curl http://android.git.kernel.org/repo >~/bin/repo
      这句命令会下载 repo 脚本文件到当前主目录的/bin 目录下,并保存在文件repo 中。
    1.4
       chmod a+x ~/bin/repo
       修改 repo 文件可执行权限
    1.5
       执行下面的命令创建并进入空文件夹
       mkdir yourdirectory
       cd yourdirectory
    2repo客户端初始化
       2.1
            下面是官网给的命令,但在公司行不通会报Connection timed out的错误,但在家直接用估计可以
            repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
       2.2
            在公司同步要先将bin里的.repo文件的
            REPO_URL='git://android.git.kernel.org/tools/repo.git' 
            改成
            REPO_URL='http://android.git.kernel.org/tools/repo.git'
            然后命令改成下面这个(注意后面的版本号写法和官网不太一样,如果写-b Gingerbread的话会找不到版本
            repo init -u http://android.git.kernel.org/platform/manifest.git -b android-2.3.3_r1
          (参考 http://blog.csdn.net/shaohui99/archive/2010/06/29/5702483.aspx)
       2.3
            执行上面的命令可能还会报个IOError找不到文件(暂时还不知道为什么)
        但执行下面两条命令
         touch ~/.gitconfig
             rm -rf .repo
        后再执行2.2的命令就可以同步了
        成功的话会叫你填写自己的名字和邮箱
    3下载源码
    3.1
       执行下面的命令会开始下载代码
       repo sync
       如果也有 Connection timed out错误就找到你在1.5时创建的目录下找到.repo文件夹打开后找到下载清单manifest.xml(manifest.xml为隐藏文件,得显示隐藏文件后才能看见
       打开manifest.xml
       修改
       fetch="git://android.git.kernel.org/"
       为
       fetch="http://android.git.kernel.org/"(http的穿透
       然后再执行repo sync,成功后会下载代码要几个小时(我下载了一天)

    4编译
    4.1
      先进入1.5创建的空目录
      再执行 make 命令

    编译后的文件在out文件夹中

    5生成SDK
    make PRODUCT-sdk-sdk
    编译完成后会在/work/froyo/out/host/linux-x86/sdk/目录生成sdk


        查看系统 





    bin文件夹下的repo文件 
    修改bin下的repo文件 
    下载清单文件 
    修改清单文件 
    repo客户端初始化 
    下载源码过程 
    32位系统出错 






     android2.3源码下载编译过程.rar (206.02 KB, 下载次数: 869) 



    32位系统也能编译了(此方法来自于robotv用户@#¥%……%&掌声)
    其实32位的也可以编译,这个是别人写的,我试了,成功,给大家参考一下


    在使用:
    $ repo init -u git://Android.git.kernel.org/platform/manifest.git
    $ repo sync
    下载完代码后,进行make,
    $cd ~/mydroid
    $make
    却出现了如下错误:
    build/core/main.mk:73: You are attempting to build on a 32-bit system.
    build/core/main.mk:74: Only 64-bit build environments are supported beyond froyo/2.2.
    这是因为froyo/2.2默认只支持64-bit,看到有些网友还要去下载64-比他的操作系统,很是麻烦,于是通过不断搜索资料终于解决,


    解决办法:
    需要进行如下修改即可,

    ./external/clearsilver/cgi/Android.mk 
    ./external/clearsilver/java-jni/Android.mk 
    ./external/clearsilver/util/Android.mk 
    ./external/clearsilver/cs/Android.mk
    四个文件中的
    LOCAL_CFLAGS += -m64 
    LOCAL_LDFLAGS += -m64 
    注释掉,或者将“64”换成“32”
    LOCAL_CFLAGS += -m32 
    LOCAL_LDFLAGS += -m32 


    然后,将
    ./build/core/main.mk 中的
    ifneq (64,$(findstring 64,$(build_arch))) 
    改为:
    ifneq (i686,$(findstring i686,$(build_arch))) 


    OK!问题解决




  • 相关阅读:
    最优化方法(无约束)转载
    启动eclipse,弹出提示:java was started but returned exit code = 13
    前端开发之div实现table表格系列教程三:参数说明
    前端开发之div实现table表格系列教程二:拖动表格draggable
    前端开发之div实现table表格系列教程一:创建表格
    前端开发之弹出框系列教程十:通用参数说明
    前端开发之弹出框系列教程九:动画
    前端开发之弹出框系列教程八:自定义按钮栏
    前端开发之弹出框系列教程七:父页面与子窗口交互
    前端开发之弹出框系列教程六:win打开新窗口
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/2278212.html
Copyright © 2011-2022 走看看