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

    技术2022-06-29  66

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

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

    自己做了一些修改。

    一.PC工作环境准备

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

    apt-get install flex bison gperf libsdl-dev libesd0-devapt-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_21export 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 Java6ifneq ($(filter 1.6%,$(java_version)),)LOCAL_CFLAGS += -m64LOCAL_LDFLAGS += -m64endif    第一次进行整体编译,这个过程大概持续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 –模拟器和开发工具的应用程序


    最新回复(0)