`

android2.3源码下载编译全过程(附图及文档)修改版【转】

阅读更多

原文http://www.eoeandroid.com/thread-61367-1-1.html

 

@官方的文档地址:http://source.android.com/source/download.html(但可能会遇到点问题请看下面的讲解


@系统要求:1 ubuntu 10.04或以上版本
                     2 64位系统(查看系统命令: uname -m 如果出现i386 i686 i586则是32位 如果出现amd64 则是64位系统
                     3 jdk1.6 或更高版本
@说明:下面如果有修改文件不好保存或无法打开可能是权限问题要进入那个目录修改权限 chmod 777 filename


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, 下载次数: 122)



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!问题解决
分享到:
评论

相关推荐

    android 2.3 源码 src

    《深入剖析Android 2.3源码:src的探索之旅》 Android 2.3,代号Gingerbread,是Android系统的一个重要版本,它的源码揭示了Android系统内部的运行机制,为开发者提供了深入了解和定制系统的机会。本文将围绕...

    Ubuntu-32位机安装编译Android2.3源码及内核.doc

    总结来说,要在Ubuntu 32位机上安装和编译Android 2.3源码及内核,需要遵循上述步骤,每个环节都可能遇到挑战,但只要仔细操作并根据错误提示解决问题,就能够成功完成这一复杂的过程。对于那些想要深入了解Android...

    Android自学笔记:Android2.3源码下载.docx

    这篇自学笔记详细介绍了在Windows环境下下载Android 2.3源码的步骤,这对于初学者尤其有用。首先,我们需要进行一些准备工作: 1. **下载Msysgit工具**:这是Windows系统下的Git客户端,可以从Google Code项目页面...

    android2.3源代码下载

    android-2.3.1-gingerbread-src源码.zip下载 查看源码 看了很多设置看源码 实际上很简单 当你没有源码的时候点进去看的都是 不清楚的类 只要把这个包下载完 点那个按钮导进去就OK了 不要解压 网上看配置搞了半天...

    Android 2.3 Bluetooth 源码 0分下载

    Android 2.3,也被称为Gingerbread,是Android操作系统的一个早期版本,它引入了许多功能改进,包括对蓝牙(Bluetooth)的支持。在这个源码中,我们可以深入理解Android系统如何管理和利用蓝牙技术,这对于开发者来...

    android 2.3 Camera源码 0分下载

    Android 2.3,也被称为Gingerbread,是Android操作系统的一个重要版本,它在移动设备上引入了许多新特性和改进。对于开发者来说,Camera源码是深入理解Android摄像头功能实现的关键。在这里,我们将探讨Android 2.3 ...

    android 2.3 phone apk 源码

    【标题】"Android 2.3 Phone APK 源码" 涵盖了 Android 系统早期版本的电话应用开发细节,对于深入理解 Android 应用架构和系统级组件的交互具有重要意义。源码是软件开发的核心,通过分析源码,我们可以了解整个...

    安卓Android源码——Android Launcher 源码修改可编译.zip

    8. **Android SDK和NDK**:SDK提供了开发Android应用的工具和库,而NDK则用于编写原生C/C++代码,这两者在源码修改和编译过程中起着重要作用。 9. **版本控制与Git**:Android源码使用Git进行版本控制,开发者需要...

    android 2.3 Mms 源码 0分下载

    在Linux挂着代理弄下来的,费了点劲,在这分享。需要的请带走。

    TD2.3源码Android

    【标题】"TD2.3源码Android"指的是一个针对Android平台的开发项目,其源码版本为TD2.3。在Android开发中,源码是理解系统工作原理、进行定制化开发或优化性能的关键资源。这个源码库可能是某个应用、框架或系统的...

    Android源码编译文档

    在Android开发领域,深入理解Android源码的编译过程对于开发者来说至关重要。本文将详尽地探讨Android源码的下载、编译以及如何通过shell脚本制作镜像,旨在为开发者提供一个清晰的指南。 首先,Android源码的下载...

    android 9.0 源码下载(28 r6)

    首先,要下载Android源码,你需要一个Linux环境,因为官方的构建工具链和文档主要针对这个平台。Ubuntu是最常见的选择,但其他基于Debian的发行版也可以。确保你的系统安装了必要的依赖项,如Git、Repo、Java JDK...

    android 2.3 settings apk 源码

    《深入剖析Android 2.3 Settings APK源码》 Android 2.3,又被称为Gingerbread,是Google推出的一款重要的Android操作系统版本。Settings APK在Android系统中扮演着至关重要的角色,它负责提供用户界面来配置和管理...

    Android 源码编译过程

    Android源码编译过程是Android开发中的核心环节,它涉及到一系列复杂的步骤,旨在将源代码转化为可以在Android设备上运行的二进制系统映像。这个过程对于开发者来说至关重要,因为它允许自定义和优化Android系统,以...

    android2.3 音乐播放器源码

    《Android 2.3 音乐播放器源码解析与学习指南》 在移动设备领域,Android操作系统以其开源、自由的特性受到了广大开发者和用户的喜爱。Android 2.3(又称为Gingerbread)是其早期的一个重要版本,尽管随着时间的...

    Android交叉编译环境&Iperf3;.0源码编译

    在Android开发过程中,有时我们需要为不同的平台或设备编译特定的应用程序,比如网络性能测试工具iperf3。本文将详细阐述如何在Linux环境下搭建Android交叉编译环境,并针对iperf3.0源码进行编译,以生成适用于...

Global site tag (gtag.js) - Google Analytics