Android开发环境篇
一. 安装:
Required Packages
Android requires the following system packages:
- flex: This lexical analyzer generator is used to read a given input file for a description of a scanner to generate.
- bison: This is a general-purpose parser generator.
- gperf: This is a perfect hash function generator.
- libesd0-dev: This enlightened sound daemon (dev files) is used to mix digitized audio streams for playback by a single device.
- libwxgtk2.6-dev: This package provides GUI components and other facilities for many different platforms.
- build-essential: This package contains a list of packages considered fundamental to building Debian packages.
$sudo apt-get install git-core gnupg gperf libsdl-dev libesd0-dev
$sudo apt-get install libwxgtk2.6-dev zip curl minicom tftpd
$sudo apt-get install uboot-mkimage libx11-dev libncurses-dev
$sudo apt-get install expect bison build-essential flex zlib1g-dev
四. JAVA工具安装
1. JAVA安装时我遇到很多问题:
如果已经安装了sun-java6-jdk,编绎时会提示下列错误:
Your version is: java version "1.6.0_20".
The correct version is: 1.5.
或者是没有提示,可是最后编绎仍然失败,说找不到很多库.
如果已经安装了sun-java5-jdk,编绎时会提示下列错误:
Your version is: java version "1.5.0_19"
The correct version is: 1.6.
2. 后来我想了一个办法,试了ubuntu9.10和ubuntu10.04都可以正常工作了
安装步骤:
(1). 对于Ubuntu 9.10以上用户,先修改 /etc/apt/sources.list
在结尾增加两行:
deb http://cn.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
然后执行
$ sudo apt-get update
(2). 安装sun-java6-jdk
$ sudo apt-get install sun-java6-jdk
(3). 卸载sun-java6-jdk
$ sudo apt-get remove sun-java6-jdk
$ sudo apt-get remove sun-java6-bin
(4). 安装sun-java5-jdk
$ sudo apt-get install sun-java5-jdk
安装过程会有一个图形界面,如果你按不了确定,请用TAB键切过去就可以了。
安装完看一下版本
$ java -version
java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02)
Java HotSpot(TM) Client VM (build 1.5.0_19-b02, mixed mode, sharing)
至此,开发环境完成!
Android SDK篇
一. 安装repo
01.$ curl http://android.git.kernel.org/repo> /bin/repo /*我选择安装到/bin目录*/
02.$ chmod a+x /bin/repo
复制代码二. 建立工作目录
01.$ export ANDROID=你的android目录 #定义source路径
02.$ mkdir -p $ANDROID
03.$ cd $ANDROID
复制代码三. 下载源码
1. 先下载manifest所有的东东
01.$ repo init -u git://android.git.kernel.org/platform/manifest.git
02.$ repo sync
复制代码1.7G的文件,下载起来不容易,所以这时我们要做好备份工作。
下载完后,有一个隐藏的文件夹".repo",把这个另外保存起来就可以了,其它文件可以删了。
2. 获取 android-2.2_r1.1 项目
(1) 初始化android-2.2_r1.1项目
01.$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.2_r1.1
(复制代码(2) 创建local_manifest.xml文件
01.$ touch .repo/local_manifest.xml
02.$ vi .repo/local_manifest.xml
复制代码/*不想用vi,也可以用gedit*/
复制下列内容: /* 目前是先用ALSA相关的东西,以后可能要我们自已选择 */
01.<?xml version="1.0" encoding="UTF-8"?>
02.<manifest>
03. <project path="external/alsa-lib" name="platform/external/alsa-lib" revision="froyo"/>
04. <project path="external/alsa-utils" name="platform/external/alsa-utils" revision="froyo"/>
05. <project path="hardware/alsa_sound" name="platform/hardware/alsa_sound" revision="froyo"/>
06.</manifest>
复制代码(3) 同步)(本人认为红色部分可以不做,没什么必要)
01.$ repo sync
复制代码由于前面做过sync工作,所以现在快很多,只用几分钟可完成。
四. I8320 补丁
01.$ cd $ANDROID
02.方法一:直接下载附件,解压到当前目录,可看到vendor文件夹。此方法不推荐,尽供备份。
03.方法二:推荐从 mephistoph 的git仓库里取得最新的vendor:
04.$ git clone git://gitorious.org/h1droid/vendor.git
05.然后将vendor文件夹复制到$ANDROID目录
06.$ cd vendor
07.$ ./sola/omap3/patch/omap3-patch.sh
复制代码五. Android编绎
01.$ cd $ANDROID
02.$ source build/envsetup.sh
03.$ lunch i8320board-eng
04.$ make -j3
复制代码五. 为了最后能生成image文件,环境准备工作
01.$ cd $ANDROID
02.$ ./vendor/sola/omap3/image/i8320board-image.sh
复制代码六. TI 公司 Android SGX SDK 获取,这是生成SDK image的工具。
1. 安装TI_Android_SGX_SDK
01.$ cd $ANDROID
02.$ git clone git://gitorious.org/rowboat/ti_android_sgx_sdk.git TI_Android_SGX_SDK
03.$ cd TI_Android_SGX_SDK
04.$ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin
复制代码这时会有界面出来,我们开始安装SDK工具,注意安装目录一定为当前目录(TI_Android_SGX_SDK)。
2. 修改make规则。
安装完毕后,编辑/opt/OMAP35x_Android_Graphics_SDK_3_01_00_03/Rules.make文件。
找到文件中对应的地方,修改下面内容:
01.HOME=$(ANDROID)
02.GRAPHICS_INSTALL_DIR=$(ANDROID)/TI_Android_SGX_SDK
03.ANDROID_ROOT=$(ANDROID)/vendor/sola/omap3/image/i8320board/android
04.CSTOOL_DIR=$(ANDROID)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/
05.KERNEL_INSTALL_DIR=[color=DarkOrchid]linux内核绝对路径
复制代码3. 执行下列命令注意,每次修改内核kernel部分后也要重新做下面步骤)
01.$ cd $ANDROID/TI_Android_SGX_SDK
02.$ make
03.$ make install OMAPES=3.x
复制代码这时你的SDK image产生了。
七. 复制image到TF卡
TF卡要求: 200M以上,ext3文件系统。
进入 $ANDROID/vendor/sola/omap3/image/i8320board/android 目录,所有文件复制到TF卡根目录。
八. 运行
将I8320进入download状态,然后插上USB线,下载boot.bin
01.$ cd odin
02.$ ./odin ../boot.bin
复制代码/*boot.bin在前一级目录*/
如果一切顺利,这时屏幕会发白或花屏几秒,然后出来企鹅以及一些字符信息。
第一次启动要初始化我们的TF卡,耐心等一下,可以看到android的logo出来,然后是激动人心的android2.2主界面。
我也是昨天才真正跑起android,还有很多问题需要大家共同研究:
(1)电源管理
(3) wi-fi,声卡,bluetoolth,watchdog,PL_sensor,等等太多的东东都没有搞好。