Android源代码android-2.3.5_r1下载方案

      不管怎么样,还是想发表这文章,是为了提供一个下载android源码方法,来帮助像我一样无助的人来获得android源码。
一.硬盘下安装ubuntu
     1.下载ubuntu 
      
     2.下载easyBCD,官网点non-commercia注册就可以免费。


     3.win7下空出一个e盘格式化   计算机-》管理-》磁盘管理-》删除卷


     4.安装easyBCD,add new entry -》neo grub -》install-》configue


     5.在弹出的menu.list中添加


       title Install Ubuntu
       root (hd0,4)
       kernel (hd0,4)/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-12.04.iso ro quiet splash locale=zh_CN.UTF-8
       initrd (hd0,4)/initrd.lz


     6.把下载好的ubuntu-12.04.iso复制到d盘,解压ubuntu-12.04.iso中文件夹里的vmlinuz.efi和initrd.lz到d盘。


     7.重启安装到了ubuntu桌面环境下按Ctrl+Alt+T 打开终端,输入代码:sudo umount -l /isodevice;


     8.点安装ubuntu-》其他安装选择-》添加-》exft4文件系统/20g-》swap 2g-》exft4文件系统/home 85g
二.ubuntu获取windows下共享文件
  sudo apt-get install samba
  sudo apt-get install smbfs 
  smbclient //192.168.0.1/share -U zhang
  get file1 file2
三.获取源码和编译
  参考以下网址,但没有最佳的解决方案,问题最终发现是仓库网址的问题。
  http://yuanshuilee.blog.163.com/blog/static/21769727520131130102626998/


  http://blog.csdn.net/xwwxxw123321/article/details/12321695


  https://www.googlesource.com/new-password?state=android&code=4/EKuFpY9EEJcpeBbXog4Rjel29QTR.oo6tagnY3BwUgrKXntQAax1-DlATiAI


  http://862123204-qq-com.iteye.com/blog/1992973


  http://blog.csdn.net/liwendovo/article/details/8224090
  我最终通过以下方法解决:
  1.获得repo。
   mkdir ~/bin
   //curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo 
   curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" >~/bin/repo
   chmod a+x ~/bin/repo
  2.添加E82E4209。
   ftp://ftp.gnu.org/gnu/grub/  下载grub-2.00.tar.xz.sig和grub-2.00.tar.xz然后进入这入这两个文件的目录中
   gpg --verify --verbose grub-2.00.tar.xz.sig grub-2.00.tar.xz
   gpg --recv-keys E82E4209
   gpg --verify --verbose grub-2.00.tar.xz.sig grub-2.00.tar.xz
  3.得到.repo仓库。
   mkdir  ~/androidsrc
   cd ~/androidsrc
   repo init -u https://android.googlesource.com/a/platform/manifest -b android-2.3.5_r1
   上面这一步会得到一个.repo的仓库,ls -all 才能看见,cd .repo 后可以看到manifest.xml文件。
   这是一个仓库,那么我们还可以从这一步打印的信息中找到的到这个仓库的网址git://codeaurora.org。
   从这个网址就可以得到android源码的其他仓库了。
   gedit manifest.xml &  将fetch对应的字符串替换成:“git://codeaurora.org/”     ###android源代码库
   选择低版本是因为代码量少,下载和编译时简单,时间也短,另外可以方便研究。
  4.添加ip。
   nslookup googlesource.com
   nslookup android.googlesource.com
   根据上面步骤打印的信息在/etc/hosts文件添加:
   sudo gedit /etc/hosts 
        添加内容:
        74.125.237.1   dl-ssl.google.com 
        74.125.71.82 www.googlesource.com   
        74.125.31.82 android.googlesource.com  
        203.208.46.172 cache.pack.google.com   
        59.24.3.173cache.pack.google.com
  5.配置获得android源码仓库的网址。
   gedit manifest.xml &  将fetch对应的字符串替换成:“git://codeaurora.org/”  ####android源代码库
   //gedit manifest.xml &  将fetch对应的字符串替换成:“git://Android.git.linaro.org/”  ####android源代码库
   “git://Android.git.linaro.org/”这仓库网址也可以下载,速度特别慢,
   我开始用来下载android4.4的源码不关机用了一周还下载失败了。
  6.下载仓库到本地。
   vim download.sh
       #!/bin/bash
       echo "=======start rep sync============"
       repo sync -j4
       while [$? ==  1]; do
       echo "=======sync failed, re-sync again========"
       sleep 3
       repo sync -j4
       done
   chmod a+x download.sh
   ./download.sh
   (下载过程中如果出问题,可以删除.repo/下除了project的文件,并重复3到6的步骤。
   //repo init -u git://git.omapzoom.org/a/platform/manifest -b android-2.3.5_r1
   //repo init -u git://codeaurora.org/platform/manifest.git -b android-2.3.5_r1
   挂机2到3天
   下载完成后 出现几个100%。


编译:
  7.配置编译环境。
       编译需要环境(以下是ubuntu12.04 64位的环境配置,
       其他版本的同学可以参考官网http://source.android.comsource/initializing.html)
        $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
        $ sudo apt-get install git gnupg flex bison gperf build-essential \
 zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
 libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
 libgl1-mesa-dev g++-multilib mingw32 tofrodos \
 python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
  8.编译,链接
        source ./build/envsetup.sh
        lunch aosp_arm-eng
        make -j4 
   编译时遇到的错误是因为内存不够用和g++版本过高
       关闭其他程序
       sudo apt-get install gcc-4.4


       sudo apt-get install g++-4.4
      
       sudo apt-get install g++-4.4-multilib


       sudo rm -rf /usr/bin/gcc /usr/bin/g++


       sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc


       sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++
   挂机3到4小时
   完成后./out/target/product/generic/下出现3个.img文件,system.img ,userdata.img ,ramdick.img
9.编译链接得到工具sdk包。
   source ./build/envsetup.sh
   lunch sdk-eng
   make sdk
   完成后./out/target/product/generic/下出现sdk包,这个包就是官网的SDK包,可以用来安装开发第三方android应用。
10.运行。
   export PATH=$PATH:~/androidsrc2.3.5_r1/out/host/linux-x86/bin
   export ANDROID_PRODUCT_OUT=~/androidsrc2.3.5_r1/out/target/product/generic
   emulator
   //emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu
   //emulator -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7 -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img
   //emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img
11.android内核源码下载和编译,链接,运行。  
   mkdir ~/androidsrc2.3.5_r1/kernel
   cd ~/androidsrc2.3.5_r1/kernel
   git clone http://android.googlesource.com/kernel/goldfish.git
   //git clone git://Android.git.linaro.org/kernel/goldfish.git
   cd goldfish
   git branch -a
   git checkout remotes/origin/archive/android-gldfish-2.6.29
   export PATH=$PATH:~/Android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
   vim Makefile
       # ARCH ?= (SUBARCH)
       # CROSS_COMPILE?= 
       ARCH ?= arm  #体系结构为arm
       CROSS_COMPILE     ?= arm-eabi- #交叉编译工具链前缀,
       参考~/Android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin目录 
   make goldfish_defconfig
   //make menuconfig
   make
   emulator -kernel ./kernel/goldfish/arch/arm/boot/zImage &
   export PATH=$PATH:~/androidsrc2.3.5_r1/out/host/linux-x86/bin
   export ANDROID_PRODUCT_OUT=~/androidsrc2.3.5_r1/out/target/product/generic
   adb shell
   cd proc
   cat version


   .  ./build/envsetup.sh
   mmm packages/apps/Email/ 
   make snod




    
     
四.android源码分析
  http://quanminchaoren.iteye.com/blog/853106
  http://blog.csdn.net/luoshengyang
  http://blog.csdn.net/maxleng/article/details/5471557





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值