Android手机软件研发环境配置
前言
本文档主要介绍在Ubuntu系统下安装和配置常用的Android开发工具以及使用,以及日常工作中代码的编译和手机烧录等方法。本文主要内容介绍如下:
1. 开发工具的安装和配置(包括JDK,ADT,Git等)
2. 下载开源代码
3. 编译源代码
4. 烧录手机方法
限制及说明
1. 本文档主要供Android手机终端软件研发工程师初学者使用。
2. 学习本文档需要先熟悉常用的Ubuntu系统下Linux命令。
3. 有关Ubuntu环境的安装,请参考笔者前面所写《实体环境中配置Android项目Ubuntu开发环境指南》,地址: http://blog.csdn.net/chancechu/article/details/6871966
4. 在博客《实体环境中配置Android项目Ubuntu开发环境指南》一文中,主要介绍了如何在Windows XP系统环境下引导双系统。这里对该文做一下补充,简要介绍一下如何在Windows 7系统环境下引导双系统。
1). BCDEDIT 引导菜单配置
通过命令行输入cmd命令进入Windows终端,通过bcdedit 创建引导菜单。
2). GRUB文件配置
title Ubuntu10.04 LTS
root (hd0,5)
kernel /boot/vmlinuz-2.6.32-45-generic ro root=/dev/sda6
initrd /boot/initrd.img-2.6.32-45-generic
一. 开发工具的安装和配置
1. 安装必须安装包
首先,确保Ubuntu系统下能够正常上网。然后,打开Ubuntu命令终端,或者按Ctrl+Shift+T 快速打开Terminal命令终端。输入如下命令:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
2. JDK的安装和配置
进入Oracle官网下载JDK,地址如下:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
最好选择64位安装包,比如 jdk-7u25-linux-x64.tar.gz,将下载下来的安装包放到一个工具目录tools。需要视自己的硬盘空间大小来决定,如果/home目录下空间较大,就放在/home目录下。笔者因为硬盘空间有限,放在根目录下,创建一个tools目录。方法如下:
sudo -s
mkdir /tools
chmod 777 -R /tools
mkdir /tools/ide
将JDK安装包放在/tools/ide目录下,解压安装(笔者机器上使用的是jdk-6u25-linux-x64.bin 版本):
chmod 777 jdk-6u25-linux-x64.bin
./jdk-6u25-linux-x64.bin
进入/home/目录下,编辑 .bashrc文件,进行JDK环境配置:
cd ~
gedit .bashrc &
在该文件最后一行配置如下环境变量:
JAVA_HOME=/tools/ide/jdk1.6.0_25
export JAVA_HOME
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
编辑完成之后保存。然后输入如下命令:
source ~/.bashrc
验证JDK是否安装成功,输入如下命令:
java -version
如果输出如下,则表示JDK安装成功:
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)
3. ADT的安装和配置
进入Android官网下载ADT,地址如下:
http://developer.android.com/sdk/index.html
请下载64为ADT,目前最新的版本为:adt-bundle-linux-x86_64-20130729.zip, 下载完成之后将其拷贝到/tools/ide目录下,解压即可使用。
ADT配置方法,笔者目前的版本为adt-bundle-linux-x86_64-20130514,进入该目录下,设置JDK的JRE的软链接:
cd /tools/ide/adt-bundle-linux-x86_64-20130514/eclipse/
ln -s ../../jdk1.6.0_25/jre jre
然后更改eclipse.ini 配置参数:
--launcher.XXMaxPermSize
512m
-XX:MaxPermSize=512m
-Xms384m
-Xmx1024m
输入如下命令,或者双击eclipse即可打开ADT开发工具:
./eclipse
打开ADT之后,选择Window-> Preferences -> Android , 将SDK Location设置为 /tools/ide/adt-bundle-linux-x86_64-20130514/sdk, 即adt-bundle-linux-x86_64-20130729.zip解压目录下的sdk目录。
进入/home/目录下,编辑 .bashrc文件,进行ADT环境配置:
JAVA_HOME=/tools/ide/jdk1.6.0_25
ADT_HOME=/tools/ide/adt-bundle-linux-x86_64-20130514
export JAVA_HOME
export ADT_HOME
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ADT_HOME/sdk/platform-tools:$ADT_HOME/sdk/tools:$ADT_HOME/eclipse:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$ADT_HOME/sdk/tools/lib
4. Git的安装和配置
首先确认Git是否安装,输入如下命令:
git --version
如果输出如下,则表示安装成功。
git version 1.7.4.1
否则,需要自行安装Git工具,输入如下命令:
sudo apt-get install git
sudo apt-get install git-core
5. 其他常用工具的安装
(1) MELD代码比对工具
sudo apt-get install meld
(2) 局域网传输工具
sudo apt-get install iptux
(3) SVN
sudo apt-get install subversion
(4) Wine
sudo apt-get install wine
二. 下载开源代码
1. 安装Repo 工具
建立一个repo目录,并设置好环境变量:
mkdir ~/bin
PATH=~/bin:$PATH
下载repo,并设置repo文件权限为可执行:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
建立一个存放源代码的目录,以笔者为例,比如要下载Android4.2源代码,则在opensource目录下再建立一个JellyBean文件夹,专门用来存放Android4.2代码:
mkdir opensource
cd opensource
mkdir JellyBean
2. 初始化Repo 客户端
repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1
输入自己的邮箱名等信息,即可。
我们会发现,通过这种方式同步代码会特别慢,因此只需要在.repo 目录下的manifest.xml里找到fetch属性,修改如下,即可保证不中断,笔者尝试了一下,成功下载JellyBean4.2源代码:
fetch= "git://Android.git.linaro.org/ "
3. 同步代码
repo sync
三. 编译源代码
下载完源代码,即可进入JellyBean目录进行编译,编译方法如下:
cd opensource/JellyBean/
. build/envsetup.sh
choosecombo
这时会出现如下提示:
Build type choices are:
1. release
2. debug
Which would you like? [1] 1
输入1 即可。接着会有如下提示:
Which product would you like? [full] full
输入full 即可。接着会有如下提示:
Variant choices are:
1. user
2. userdebug
3. eng
Which would you like? [eng] eng
输入eng即可。这时提示如下,即表示初始化完成:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-2.6.38-15-server-x86_64-with-Ubuntu-11.04-natty
HOST_BUILD_TYPE=release
BUILD_ID=JOP40C
OUT_DIR=out
============================================
现在即可进行代码的编译了:
make update-api;make -j4
当然,中间编译的过程中可能会有报错。具体情况应具体处理,这里不做举例和详细赘述。
四. 烧录手机方法
手机烧录的方法有很多,高通平台,MTK平台,均有自己的烧录工具。为尊重人家的知识产权,这里不便详细介绍。下面简单介绍一下通过fastboot方式烧录编译生成的img包到手机中。一般来说,开启手机,执行如下命令,进入如下命令,即进入fastboot烧录模式:
adb remount
adb reboot bootloader
然后进入JellyBean编译后的out目录下,找到相应项目生成的img文件。然后依次执行如下命令:
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash recovery recovery.img
fastboot reboot
这时即可看到自己编译后烧录的软件。当然,如果手机没有写NV,需要先写NV,SIM卡才能注册上网。
五.参考文献
Android官网文档: http://source.android.com/source/building.html