主题 : 基于ubuntu 9.04(32位机)的Android2.2 开发环境的搭建
级别: 四缕秋风
UID: 101535
精华: 0
发帖: 119
威望: 1879 点
无痕币: 1529 WHB
贡献值: 0 点
在线时间: 77(时)
注册时间: 2010-07-26
最后登录: 2012-12-11

0 基于ubuntu 9.04(32位机)的Android2.2 开发环境的搭建

我参考了官方的网站的安装说明,但出现了很多问题。可能新版的开发指引还没更新。

http://source.android.com/source/download.html

自己做了一些修改。

一.PC工作环境准备

首先安装一些必须的工具包:(已安装工具包进行升级,未安装的进行下载安装)

apt-get install flex bison gperf libsdl-dev libesd0-dev
apt-get install libwxgtk2.8-dev build-essential zip valgrind sun-java5-jdk python  zlib1g-dev libncurses5-dev  libsdl1.2-dev libsdl1.2debian


这是官方指引的包,还得增加一些包,要不然,之后还会报缺乏某些头文件之类的。

(/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: 没有那个文件或目录)

sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6

安装sun-java5-jdk停在配置文件那里不动,

参照http://huang-tomey.blog.163.com/blog/static/12475057320106210480960/

使用新立得安装器安装成功,安装时选上sun-java5-bin,ok

手动装了sun-java6-jdk(编译是说Android2.2的需要sun-java6-jdk)

参照http://huang-tomey.blog.163.com/blog/static/124750573201061495119409/

1.下载jdk

下载连接http://java.sun.com/javase/downloads/index.jsp
选择jdk-6u21-linux-i586.bin下载,将jdk-6u21-linux-i586.bin放置于目录/home/h3/bin

(注意改目录)

2.解压文件
打开终端,进入放置jdk的目录[cd /home/h3/bin];
更改文件权限为可执行[chmod u+x jdk-6u14-linux-i586.bin]
或者[chmod 701 jdk-6u14-linux-i586.bin]

      3设置环境变量,加入JAVA_HOME和ANDROID_JAVA_HOME。
以root身份打开并编辑profile文件[sudo gedit /etc/profile]
在profile文件最后添加
#set java environment
JAVA_HOME=/home/h3/bin/jdk1.6.0_21
export JRE_HOME=/home/h3/bin/jdk1.6.0_21/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH


二.代码下载




在用户目录下/home/h3下,创建一个存放/home/h3/myndorid目录,再建个/home/h3/bin目录。
1、Install Git and Repo tools 用于版本管理和代码同步 git 上面已安装
    mkdir bin
    cd bin
    curl http://android.git.kernel.org/repo > repo
    sudo chmod a+x repo

    可以为repo命令修改环境变量,在.bashrc或/etc/profile 文件中加入如下:

sudo gedit /etc/profile
    export PATH=$PTAH:~/bin/

2、Download source of android;
    在/home/h3目录下创建一个源码的保存目录,myandroid。

    mkdir myandroid

      cd myandroid

     repo init -u git://android.git.kernel.org/platform/manifest.git

     或者获取cupcake 分支

     repo init -u git://android.git.kernel.org/platform/manifest.git  –cupcake

     (如果上面设定PATH的环境变量,直接使用repo init -u git://android.git.kernel.org/platform/manifest.git)
     进行设置完成后,开始同步代码(根据网络大概需要数小时或数日);

      repo sync
        (多试几次,我down了4,5个小时)  



三.系统和开发工具编译


   Android文件系统由于已经自带了经过优化的交叉编译工具,并且为所有的源码都提供了经过验证的makefile,所以系统的整体编译相对简单,官方发布的版本中基本功能都已经包含进了makefile中。如果需要增加什么功能,可以到build/target/product/修改相应的.mk文件。例如

为了增加中文的输入法,可以按下面的方法做:

    #cd /home/h3/myandroid/build/target/product/
    #gedit generic.mk

    打开这个文件后,在PRODUCT_PACKAGES中,加入PinyinIME,然后保存退出。这样在整体编译的时候就会把中文输入法也编译进system中了。

  开始系统编译:

   #cd /home/h3/myandroid/

    #make


出现问题很多问题,查考下面的页面,解决文题

参见:http://androidforums.com/android-developers/115959-ubuntu-10-04-android-open-source-make-error.html



把external/clearsilver/cgi/Android.mk, external/clearsilver/java-jni/Android.mk, external/clearsilver/util/Android.mk, external/clearsilver/cs/Android.mk.
下面脚本中的ifneq改为ifeq可暂时回避问题
# This forces a 64-bit build for Java6
ifneq ($(filter 1.6%,$(java_version)),)
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
endif

    第一次进行整体编译,这个过程大概持续2到3小时,默认情况下,会在/home/h3/myandroid/目录下生成一个out文件夹,所有的编译生成物都在这一目录下。如果想更改生成文件的目录,请参考./build/buildspec.mk.default文件中的说明和选项,很简单,相信大家都能看懂。这次编译所生成的主要是out/target/product/generic/下的一些物件,如system.img等

2.开发工具的编译
    Android提供了完整的开发工具和交叉编译工具,这些都包含在了源码内,所以只要对源码正确编译,就可以获得丰富的开发工具,并且Android的移植工作也需要这些工具的支持。
    编译Android开发工具的步奏如下:
   #cd /home/h3/myandroid/
    #make sdk

  这次编译主要生成物件在out/host/下

#cd /out/host/linux-x86/sdk/
    可以看到这里有了一个名叫android-sdk_eng.root_linux-x86的文件夹,这个文件夹基本包含了Android的模拟器      和所有的开发调试工具。打开这个文件夹,可以看到这里主要由以下几部分组成:
    –add-ones –需要增加的新工具路径
    –docs –关于模拟器和各种开发工具的说明等
    –platform –模拟器和开发工具需要的文件
    –tools –模拟器和开发工具的应用程序
本帖最近评分记录:
  • 无痕币:+100(lvming780910) 优秀帖子
  • 学习
    Total 0.038531(s) query 3, Time now is:04-20 12:21, Gzip enabled 粤ICP备07514325号-1
    Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛