现在的位置: 首页 > 综合 > 正文

Ubuntu下建立android源码及其内核开发环境

2018年04月11日 ⁄ 综合 ⁄ 共 4058字 ⁄ 字号 评论关闭

从android 官方源码网站:www.source.android.com取得关于配置信息如下:

磁盘:          6GB以上剩余空间

linux系统:Ubuntu 8.04以上

git工具:       Git 1.54以上

java环境: JDK5.0 update12以上版本

python  :       python 2.4以上版本

依赖工具:     flex  ,bison,gperf,libsdl-dev,libsd0-dev,libwxgtk2.6-dev,build-essential,zip,curl

调试工具:  valgrind 

步骤一:环境配置

(1)安装jdk1.5,在终端执行命令:sudo apt-get install sun-java5-jdk

就会有这个提示:

  1. root@hens-desktop:~# sudo apt-get install java5-jdk  
  2. Reading package lists... Done  
  3. Building dependency tree         
  4. Reading state information... Done  
  5. E: Couldn't find package java5-jdk 

根据网上所说尝试了很多方法都没有成功,直到使用如下步骤:

步骤a. 

先用java –version检查JDK是否
配置正确,
Android 要求的 jdk 1.5,而Ubuntu10.4的源里只有JDK1.6. 如果安装了jdk1.6请先卸载:

$sudo apt-get remove remove openjdk-6-jdk

$sudo apt-get remove remove openjdk-6-jre

$sudo apt-get remove remove openjdk-6-jre-headless

步骤b.安装JDK1.5

   1) 根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了,所以这里偶使用jdk5
  2) 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list
  3) 在source.list里把以下2行拷贝到文档最后面:   

      deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

      deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

      deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

      deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

    保存退出。

       其实对于我们china地区来说,使用如下源(ubuntu 8.04 LTS)会更快[luther.gliethttp]


        deb http://ubuntu.cn99.com/ubuntu/ hardy multiverse
        deb-src http://ubuntu.cn99.com/ubuntu/ hardy multiverse
        deb http://ubuntu.cn99.com/ubuntu/ hardy-updates multiverse
        deb-src http://ubuntu.cn99.com/ubuntu/ hardy-updates multiverse

   4) 执行 sudo apt-get update 更新源.

  5) 配置编译环境并下载JDK5:sudo apt-get install sun-java5-jdk

 在安装过程中会出现如下配置界面 


进行ok配置

(2)安装其他必备组件

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

(3)在终端中执行:sudo gedit ~/.bashrc

修改.bashrc文件,添加下面语句:

JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun"
JRE_HOME="$JAVA_HOME/jre"
export JAVA_HOME
export JRE_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH
CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
export CLASSPATH

(4)安装

 调试工具。在Ubuntu上执行以下命令:
     USER-NAME@MACHINE-NAME:~$ sudo apt-get install valgrind

步骤二. 下载Android源代码工程。
     上一节已经准备好了Android源码开发环境(确保所准备环境无误),这节阐述从Android源代码服务器中获取Android源代码,由于Android源代码非常大。所以需要分两部分获取:分别是Android源代码和Android内核。
     1.获取Android源代码步骤
        1)在用户目录下新建一个目录用来存放Android目录,在终端输入如下:
             mkdir Android
     cd Android
     mkdir bin
     cd bin
     curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo >repo
稍等片刻出现如下:

     2)建立存放Android的源代码目录source,并初始化版本:

      sudo chmod a+x repo 

      cd ..

      cd Android

      mkdir source

      cd source

      ../bin/repo init -u https://android.googlesource.com/a/platform/manifest(完全下载)

     ../bin/repo
init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1(指定下载某一部分)

     如果返回:如果返回"fatal: git 1.7.2 or later required",则执行如下,更新git :

        

      sudo apt-get install python-software-properties

      sudo apt-get-repository ppa:git-core/ppa

      sudo apt-get update

      sudo apt-get install git

 3)之后要求输入用户名和邮箱,可随机输入。完成之后如果出现"repo initialized in  ......"则表示初始化完毕

 4) 在终端输入:../bin/repo sync开始下载。下载完成后就得到了Android源代码,这部分只是Android源代码不包括Android内核部分。

如果不能在主线版本下载,请从:http://d.zhu.im/Android/网站下载

步骤三:获取android内核源码

 

Android 内核不会随Android下载,如果不需要对Android内核进行修改和移植,可以不需要此部分内容可以从Android模拟器中提取这分部内容的镜像(针对goldfish而言),我们这里需要关注.android的kernel有多个部分,可根据需要运行以下命令下载需要的内容。

    首先在上述Android/source目录下面新建kernel目录,然后   在git的console窗口中执行以下命令即可下载内核,下载Android内核会比Android源代码快很多,需要注意的是下载不能被中断。下载完成后存放Android源代码的目录也许看不到任何内容,那是因为下载的文件是隐藏的。需要显示隐藏文件才能看见,下载之后也可以通过du -sk或者du-sm命令检测文件夹的大小:

    $ git clone https://android.googlesource.com/kernel/common.git  //这个是linux内核,也可以是git clone http://android.git.kernel.org/kernel/common,网上许多地方介绍的命令是git clone git://android.git.kernel.org/kernel/common,但现在似乎是不能用了。

    $ git clone https://android.googlesource.com/kernel/goldfish.git

    $ git clone https://android.googlesource.com/kernel/msm.git

    $ git clone https://android.googlesource.com/kernel/omap.git

    #git clone https://android.googlesource.com/kernel/samsung.git

    $ git clone https://android.googlesource.com/kernel/tegra.git

 

3、checkout出对应的内核

   进入samsung目录

   $git branch -a    //列出所有可用的内核版本

 显示如下:

   $git checkout  remotes/origin/android-samsung-3.0-ics-mr1   //checkout出想要使用的内核

完成后再回到samsung目录,就看见久违的Linux内核源代码了

抱歉!评论已关闭.