移植Android开发过程

一.环境平台:

虚拟机windowsXP + colinux + ubantu7.1

 

二.准备组件

 

1.交叉编译器:

交*编译器:GNU Toolchain for ARM Processors 下载地址:http://www.codesourcery.com/gnu_toolchains/arm/download.html其中第一项选择ARM EABI或ARM GNU/Linux,第二项选择IA32 GNU/Linux即可。

 

2.内核源代码:

Android内核源代码:linux- 2.6.23 -android-m5-rc14.tar.gz 下载地址:http://code.google.com/p/android/downloads/list注意该内核版本要与你选用的模拟器版本尽量一致。

3Android SDK

下载地址:http://code.google.com/android/download_list.html

 

三.安装组件:
1.安装交编译(以下两点选择其一)

1.运行 ./arm-2008q3-39-arm-none-eabi.bin 安装至/usr/local/目录下,并选择将路径添加到PATH中:
 

2.将arm-2008q3-39-arm-none-eabi.tar.tar 解压缩至/usr/local/ 目录下,并将其bin路径添加到PATH中:
$ export PATH=$PATH:/usr/local/CodeSourcery/Sourcery_G++_Lite/bin

   可以把上句放到/etc/environment文件中或是放到~/.bashrc文件中。

 

2.安装jdk/Eclipse

需要开发包

●                   à http://java.sun.com/javase/downloads/index.jsp

● Eclipse: eclipse-SDK- 3.3.1 .1-linux-gtk.tar.gz à http://www.eclipse.org/downloads/

●         à http://code.google.com/android/download.html

● 插件:ADT- 0.3.1 .zip                           à http://code.google.com/android/adt_download.html

2、安装JDK:

[root@localhost ~]# chmod u+x jdk-6u4-linux-i586.bin

[root@localhost ~]# ./jdk-6u4-linux-i586.bin

[root@localhost ~]# .mv jdk 1.6.0 _10 /usr/local/          

默认安装到当前目录下,移动到/usr/local/。

配置路径:

[root@localhost ~]# nano .bashrc(或是 nano /etc/environment)

export JAVA_HOME=/usr/local/jdk 1.6.0 _10/

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

 

3、安装Eclipse

[root@localhost ~]# tar -zxvf eclipse-java-ganymede-SR1-linux-gtk.tar.gz

[root@localhost ~]mv eclipse /usr/local/

4 安装android SDK:

解压:android-sdk-linux_x86-1.0_r1.zip到android_sdk_linux_m3-rc 20a

[root@localhost ~]unzip android-sdk-linux_x86-1.0_r1.zip

[root@localhost ~]mv android-sdk-linux_x86-1.0_r1 /usr/local/android-sdk-linux

 

配置路径:

[root@localhost ~]# nano .bashrc  

export PATH=$PATH:/usr/local/android-sdk-linux/tools

 

5、安装插件ADT- 0.8.0 .zip:

Help > Software Updates... >  Available Software tab > New Archive Site... > Add Site..., > Archive, select the downloaded the ADT- 0.8.0 .zip file > install

 

6、启动/usr/local/eclipse/eclipse;

7、配置android-sdk:选择 Window > Preferences...> Android 属性面板> AndroidSDK的目录点击 Browse... >选择:/usr/local/android-sdk-linux/

3.交叉编译kenel

1、解包:tar -zxvf mydroid_src_20081105.tar.gz

2、获取内核编译配置文件
交*编译环境搭建好后需要得到android的内核编译参数的配置文件,该文件需要从android sdk 中的模拟器中得到。启动android模拟器,然后通过adb得到模拟器中提供的内核配置文件:
$emulator &
$adb pull /proc/config.gz .
这时候adb工具会连接模拟器,并从它里面下载一个叫做config.gz的文件到你的当前目录下。将其移动至kernel目录,解压该文件得到config,将其重命名为.config,这样就可以跳过make config而直接得到Makefile所需要的内核配置文件。
$ gunzip config.gz
$ mv config .config

3、修改Makefile
首先修改第187行,将CROSS_COMPILE值改为arm-none-eabi- ,这是我们安装的交*编译工具链的前缀,修改此处意在告诉make在编译的时候要使用该工具链。

编译出错,待续。

 

4.建立根系统

 ramdisk.img in tools/lib/images

 

ramdisk.img in tools/lib/images

 

[root@localhost ~]#cp ramdisk.img ramdisk.gz
   
   
[root@localhost ~]#gunzip ramdisk.gz
   
   
[root@localhost ~]#cd target_fs
   
   
[root@localhost ~]#cpio -iv < ../ramdisk
   
   
Result of this should be an root file system tree with:

data
  
  
dev
  
  
etc
  
  
init
  
  
proc
  
  
sbin
  
  
sys
  
  
system
  
  
tmp
  
  
var
  
  
目录data, dev 和system是空目录. Extract content of extracted user data image to /data and system image to /system directories. E.g

tar xvfj ../system_m5_rc14.tar.bz2 system/
  
  
tar xvfj ../userdata_m5_rc14.tar.bz2 data/