- 浏览: 213013 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xiegqooo:
fbb_11 写道如果以前都正常,而突然不正常了,正常的思路应 ...
思考才能有效的解决问题----<WEB应用在捕捉异常并处理时,请不要使用System.exit(1)!!!! > -
ilotuo:
Nice! Thank for sharing your ex ...
Ogre xcode build error: Reference to 'FileInfo' is ambiguous -
Stark_Summer:
赞 就是感觉过于概念了。还是不能很明白
ANSI和Unicode中的汉字编码 (转) -
landerson:
旧版的ANTTASK.JAR与新版的ANT-TASK.JAR ...
ant 优化android 项目编译第二波,simple编译项目只需1分钟 -
luopenger:
taskdef com.android.ant.SetupTa ...
使用ant优化android项目编译速度,提高工作效率
- 前言
本文叙述了如何从零开始搭建基于 Google 官方 Android 2.1-r2 源码的开发环境,包括如何下载源代码、编译源代码,以及在模拟器中运行编译生成的镜像。文中开发机是基于 Ubuntu 10.04 的,同样适用于其他版本的 Ubuntu 。
2. 下载 JDK 1.5
编译 Android 源码需要 JDK1.5 版(主要是需要其中的 javadoc ), 1.6 版是不兼容的。 JDK1.5 已经停止支持,其最终的版本是 JDK 5.0 Update 22 。
可从 Sun 官网上下载:
http://java.sun.com/javase/downloads/5u22/jdk
选择平台 Linux ,勾选同意许可协议:
单击 Continue ,在弹出的页面中一共有两个下载,选第一个 jdk-1_5_0_22-linux-i586.bin 下载:
3. 部署 JDK 1.5
3.1 解压缩 JDK
以下命令均在 root 账户上执行,非 root 账户执行某些命令可能需要加 sudo 。
将 jdk-1_5_0_22-linux-i586.bin 放在 root 目录下。进入该目录:
cd ~
然后赋予该 bin 文件可执行属性:
chmod +x jdk-1_5_0_22-linux-i586.bin
再执行安装 ( 注意前面有 ./) :
./jdk-1_5_0_22-linux-i586.bin
跳过协议阅读。
最后一行:
Do you agree to the above license terms? [yes or no]
键入 yes ,然后回车,开始解压。默认会解压到当前目录下的 jdk1.5.0_22 目录下(此处是 ~/ jdk1.5.0_22 )。
3.2 JDK 版本切换
如果同时需要使用 JDK1.6 版做应用开发,则系统中将同时存在 JDK1.5 和 JDK1.6 。因此需要实现能够在不同版本间切换。如果不使用 JDK1.6 ,请做完 1.5 版的设置后跳至 3.3 节。
这里使用 update-alternatives 命令实现。
首先为 JDK1.5 版生成可选配置选项:
update-alternatives --install /usr/bin/jdk jdk /root/jdk1.5.22 255
/usr/bin/jdk 是符号链接,它指向 /etc/alternatives/jdk (由第 2 个参数给出的), /root/jdk1.5.22 是实际目的链接, 255 是优先级(任意整数,在 automatic mode 自动模式时,数字大的优先级较高,被选为默认配置选项)。
然后再为 JDK1.6 版生成( 如果有 JDK1.6 的话。不使用 JDK1.6 的请跳至 3.3 节 ):
update-alternatives --install /usr/bin/jdk jdk /root/jdk1.6.20 0
这样,默认 jdk 版本即为 1.5 版。需要切换到 1.6 版时,请使用 update-alternatives –config jdk
3.3 配置 JDK 环境变量
下面开始配置环境变量。
在终端中执行: gedit ~/.bashrc
修改 .bashrc 文件,添加下面语句:
#set java environment
export JAVA_HOME=/usr/bin/jdk
export JRE_HOME=JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
该段代码最好设置在文件的尾部。
保存文件。在终端中执行 source ~/.bashrc
请使用 java – version 检查 JDK 是否配置正确。
4. 安装其他必备组件
在终端上,使用下面的命令安装:
apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
因为 JDK1.5 在前面已经单独安装过了,因此此处 apt-get install 命令行中没有加入 sun-java5-jdk 。
5. 下载 Android 源代码
5.1 安装 repo 脚本
首先安装 repo 。在 root 目录下新建一个 bin 目录。在终端中执行:
cd ~
mkdir bin
然后,向 PATH 中添加 bin 路径:
export PATH=$PATH:~/bin
然后执行下面两行指令,下载 repo 脚本并修改可执行属性:
curl https://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repo
5.2 初始化 repo
首先建立一个目录用来存放 Android 源代码:
mkdir mydroid
cd mydroid
然后用最新的列表执行初始化。这里我们下载android 2.1-r1,因此加了参数 –b android-2.1_r2:
repo init -u git://android.git.kernel.org/platform/manifest.git –b android-2.1_r2
这中间会问到你的名字和 Email 。如果你打算上传代码, Email 须是一个 Google 账户。
repo 初始化成功后会看到类似于下面的提示:
repo initialized in /root/mydroid
最后执行 repo sync 开始同步代码。过程比较漫长,下载速度取决于你的网速,中间有可能遇到断线,重新执行 repo sync 即可断点续传。
6. 编译 Android 源代码
6.1 编译生成镜像
切换到 android 源码根目录下,执行 make 即可。首次编译非常耗时,取决于机器配置,大约需要 3 小时。完成后镜像生成在 /root/mydroid/out/target/product/generic 下。
6.2 编译、配置 Android SDK
make 编译完成后,执行 make sdk 命令,生成对应于该版本源代码的 sdk 。
Android 官方的 SDK 和我们自己编译 Android 源码时使用 make sdk 编译出的 SDK 有区别,模拟器版本不同,加载的默认镜像也不同(一个是官方的,一个是自己编译的)。下面将展示如何能够自由切换 SDK 版本。
首先是自己编译的 SDK 版本,实际位置是 /root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86 。
因为它比较常用,我们给它高优先级:
update-alternatives --install /usr/bin/AndroidSDK AndroidSDK /root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86 255
事先下载的官方 SDK 位置是 /root/android-sdk-linux_86 ,执行:
update-alternatives --install /usr/bin/AndroidSDK AndroidSDK /root/android-sdk-linux_86 0
然后使用 update-alternatives --display AndroidSDK 查看当前配置情况:
如果要切换配置,使用 update-alternatives --config AndroidSDK
配置 AndroidSDK 环境变量。终端中执行 gedit ~/.bashrc
在文件最后添加下面三行:
# set android environment
export ANDROID_SDK_HOME=/usr/bin/ AndroidSDK
export PATH=$ANDROID_SDK_HOME/tools:$PATH
保存文件。在终端中执行 source ~/.bashrc
7. 在模拟器中运行编译的镜像
打开终端,执行 android 脚本:
android
出现下图所示窗口:
选择左边第一项 Virtual Devices ,然后在右边选择 New ,新建一个 AVD 。
Name : AVD 的名称,随便取,但只能包含字母和数字以及点、下划线和连字符,这里取名 test 。
Traget :目标 SDK 版本,这里选自己编译的 2.1-r1 版 Android SDK 。
SD Card : SD 卡。暂且不填,待需要时再设置。
Skin :皮肤(模拟器屏幕分辨率)。
Hardware :使用默认即可
然后点 Create AVD ,就创建好了一个 AVD 。点击 Start 即可启动模拟器,其运行的是自己编译的镜像。
若以后要再次启动此 AVD ,请在终端中运行:
emulator –avd test 或者 emulator @test
http://blog.csdn.net/jackyu613/archive/2010/07/31/5778646.aspx
发表评论
-
GDB调试精粹及使用实例
2012-01-09 00:58 782一:列文件清单 1 ... -
gdb cannot exec /bin/sh on android local terminal
2012-01-08 23:52 1502http://letsgoustc.spaces.liv ... -
android opengl lifecycle with ndk
2012-01-04 10:29 744http://www.brokenteapotstudios. ... -
android ndk source code
2011-12-30 00:12 818http://android.yongbok.net/repo ... -
使用GDB调试Android NDK开发的程序
2011-12-24 16:03 1143对于使用NDK编译出来的工具除了so库文件外,会会有gdbs ... -
更新Android SDK, 升级ADT遇到的问题总结
2011-12-24 15:18 4330本文能解决的问题: 1.android sdk, ... -
jmonkey sdk 3 support android
2011-12-05 00:29 1106http://jmonkeyengine.org/groups ... -
[转]adb shell 无法启动 (insufficient permissions for device)
2011-10-05 21:01 1816使用adb shell出现错误: error: in ... -
3d资料记录
2011-09-23 10:36 701World, View and Projection Matr ... -
android emulator启动超级慢解决方法
2011-07-01 14:43 1278手动写一个bat --》 emulator.exe -cpu ... -
opengl and blender in action
2011-06-28 17:49 778http://adampreble.net/blog/2011 ... -
自定义 Theme 改变 系统全局样式
2011-03-30 16:44 1885转自:http://www.androidworks.co ... -
Recommend blog about android
2011-03-28 16:20 827http://letsgoustc.spaces.live.c ... -
ant 优化android 项目编译第二波,simple编译项目只需1分钟
2011-03-15 13:58 3714由于第一次的脚本在改动java文件后仍需约五分钟,现 ... -
为TextView添加上下边框
2011-03-14 11:19 5008In android 2.2 you could do t ... -
在Eclipse中查看Android SDK源码
2011-03-14 10:34 960在SDK目录下面的platforms\android-X\ 建 ... -
使用ant优化android项目编译速度,提高工作效率
2011-03-10 12:09 12324在通常的Android大中型项目开发中,使用Ecli ... -
box2d 文档及Physics 相关知识
2011-02-25 14:59 1051http://www.box2d.org/manual.htm ... -
极品Opengl ES 教程
2011-02-22 16:38 1567http://duriansoftware.com/joe/A ... -
使用Mercurial从Google Code获得 项目源代码
2011-02-18 10:58 1289在Google Code上看到一个心动的项目源代码? 想要获得 ...
相关推荐
ubuntu10.04界面汉化安装包,deb格式。由于包的相互依赖,需用如下命令安装: #dpkg -i language-pack-zh-hans_1%3a10.04+20100421_all.deb language-pack-zh-hans-base_1%3a10.04+20100421_all.deb language-pack-...
Ubuntu10.04 上建立 QT-linux-embedded-4.6.3 开发环境及编译 qvfb 本文主要介绍了在 Ubuntu10.04 系统上建立 QT-linux-embedded-4.6.3 开发环境的步骤,包括安装 QT-x11-linux-4.6.3、设置环境变量、编译 qvfb 等...
通过阅读这份手册,开发者能够了解到UT-S5PV210设备的特点及其在Android 2.1系统下的表现,并学会如何使用VMware 7.0和Ubuntu 10.04来构建一个完整的开发环境。这对于希望利用这些工具进行嵌入式系统开发的工程师来...
在Ubuntu10.04下载和编译android 4.0源代码(三)
Ubuntu 10.04 编译安装最新版本 Linux-2.6.34 内核 本文将详细介绍如何在 Ubuntu 10.04 中编译安装最新版本的 Linux 2.6.34 内核。该过程可以分为五个步骤:准备工作、下载内核源代码、配置内核、编译安装新内核和...
在Ubuntu10.04下载和编译android 4.0源代码(四)
在Ubuntu10.04下载和编译android 4.0源代码(一)
标题 "gdb-7.5_android_ubuntu10.04_python26" 暗示了这是一个关于在Ubuntu 10.04操作系统上使用GDB(GNU调试器)7.5版本来调试Android应用的集合,其中可能包含Python 2.6的组件。GDB是一个强大的源代码级别调试器...
在Ubuntu10.04下载和编译android 4.0源代码(一)
在Ubuntu10.04下载和编译android 4.0源代码(五)
ubuntu-10.04-desktop-amd64.iso.torrent, Ubuntu Lucid amd64位下载种子
标题“gdb-7.3.1_android_ubuntu10.04_python26”指的是一个针对Android平台的GDB(GNU调试器)版本7.3.1,在Ubuntu 10.04操作系统上构建,并且与Python 2.6版本兼容的软件包。这个包可能包含了用于调试Android应用...
Ubuntu 10.04 下安装 ns-allinone-2.35 ns-allinone-2.35 是一个网络模拟器套件,能够模拟各种网络场景,广泛应用于计算机网络、通信网络、分布式系统等领域。下面是 Ubuntu 10.04 下安装 ns-allinone-2.35 的详细...
### Ubuntu 10.04下编译Android源码技术文档 #### 一、环境准备与配置 在Ubuntu 10.04环境下编译Android源码是一项复杂但极具价值的任务。为了确保编译过程顺利进行,首先需要完成一系列准备工作。 1. **系统更新...
Ubuntu_10.04上编译Android_2.3Ubuntu_10.04上编译Android_2.3
在Ubuntu 10.04环境下,为了搭建Android的编译环境,我们需要完成一系列的步骤。这个过程主要包括安装Java Development Kit (JDK),配置相关的环境变量,安装必要的编译工具和依赖包,以及解决特定的系统问题。以下...
Ubuntu20.04离线安装openssh-server 安装步骤: sudo dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.7_amd64.deb sudo dpkg -i openssh-client_8.4p1-6ubuntu1_amd64.deb sudo dpkg -i openssh-sftp-server_8.4p1-6ubuntu1_...