android 源码下载及编译

(Google 官网http://source.android.com/source/)

一 编译环境搭建

1.初始话编译环境

源码大小大约为6G,完成一次编译需要25G左右,我的硬盘为50G.

2.建立linux环镜

Google doc(http://source.android.com/source/)推介使用ubuntu 10.10 64位(LTS),我的系统就是这个版本.一般需要以下软件:

Python 2.5 -- 2.7, which you can download from python.org.

GNU Make 3.81 -- 3.82, which you can download from gnu.org,

JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both fromjava.sun.com.(Gingerbread,Froyo为android源码的一种标识)

Git 1.7 or newer. You can find it at git-scm.com.

3.安装java sdk

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

$ sudo apt-get update

$ sudo apt-get install sun-java6-jdk

会出现找不到sun-java6-jdk的错误,我从 java.sun.com下载了jdk-6u31-linux-x64.bin文件并安装.注意要配置好环境变量,Google doc并没有说这点.

4.安装需要的包

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc

5.配置USB访问

打开/etc/udev/rules.d/51-android.rules文件(root),添加以下内容,将username替换为你的用戶名

# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="<username>"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="<username>"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="<username>"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="<username>"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="<username>"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="<username>"
6.建立CCache(为了加快编译)

添加以下内容到.bashrc

export USE_CCACHE=1

export CCACHE_DIR=<~/.ccache>(这句没看懂文档的意思,就这样写了)

二.下载源码

1.安装Repo

(确保家目录有bin目录,并且在PATH中)

$ mkdir ~/bin

$ PATH=~/bin:$PATH

(下载Repo脚本文件,并确保可执行)

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
2.初始化Repo客戶端

(source为放置源文件的地方)

$ mkdir source
$ cd source
下载Repo最新的版本(使用git branch -r命令来查看所有版本)
$ repo init -u https://android.googlesource.com/platform/manifest
下载指定的版本(我下载的是 android-4.0.1_r1):

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

开始下载,在下载的过程中需要输入姓名和邮箱,如果下载的过程中出现中断,可以执行以下命令继续下载

$ repo sync

源码下载结束后执行,来设置缓充区大小

prebuilt/linux-x86/ccache/ccache -M 50G

3.编译系统

初始化编译环境

$ source build/envsetup.sh

选择一个目标

$ lunch full-eng

编译

$  make -j4

启动模拟器

$ emulator

效果如下:


哇噻,终于好了 ~~

编译某一个包:

make ONE_SHOT_MAKEFILE=packages/apps/Launcher2/Android.mk



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下载编译Android源码,首先需要安装好git和repo等工具。你可以参考《Android源码下载 & 编译(高通)》第1节中的指南来完成这些工具的安装过程。 下载Android源码的方法可以根据不同的情况而有所不同。如果你是按照《Android源码下载 & 编译(高通)》的方法下载源码,那么源码中应该包含有kernel目录,也就是包含了Linux内核。然而,通过其他方法下载源码可能不包含kernel目录,也就是没有包含Linux内核。在参考资料中明确指出,Android 4.0源码默认下载是不包括内核源码的。因此,如果你遇到这种情况,你需要另外下载Android和Linux源码,并进行编译。 需要注意的是,与《Android源码下载 & 编译(高通)》不同,上述编译过程并没有编译Linux内核。你需要按照下文的指引进行Linux内核的编译。具体的步骤和方法可以参考后续的文档。 总结起来,要下载编译Android源码,你需要先安装好相关工具,然后根据具体的情况选择合适的下载方法。如果你已经按照《Android源码下载 & 编译(高通)》的方法下载源码,那么你已经包含了Linux内核。否则,你需要额外下载Android和Linux源码,并按照相关指引进行编译。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Android源码下载&编译(TI)](https://blog.csdn.net/Q1302182594/article/details/52208366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值