Android开发环境配置

 

(一) 安装虚拟机VMware

1.1 获取Ubuntu Linux

1. 安装虚拟机VMware

UbuntuLinux可以从此网址获得http://www.ubuntu.org.cn/getubuntu/download/。现在最新版本的Ubuntu Linux10.10版本

 

1.2 创建虚拟机

打开VMware  File-->New-->Virtual Machine.

创建过程主要有以下改动点

1. 选择自定义安装

2. 选择操作系统和版本   操作系统选择Linux  版本选择Ubuntu

3.虚拟机名字和存储位置

4. 内存推荐 1024

5. 网络连接选择NAT

6. 硬盘空间  至少30G

 

1.3 安装Ubuntu

VM --Settings--->Hardware--->CD Rom选择Use ISOimage, 选择下载的ubuntu 10.10目录

OK之后会提示Install ubuntu

安装过程中在Preparing to install ubuntu界面请把下面2个都选中

      Download updates while install

      Install this third-party software

另外需要输入  

   User name

   password

    Encrypt打勾

 需要注意的是安装过程中请拔掉网线加快速度。

 安装完成后会提示重启,重新启动后可进行下面配置
 
1.4 配置Ubuntu
 
1.4.1    配置分辨率
system-->preferences-->Monitors
 
1.4.2  配置语言
安装中文大概需要57M空间

System-->Administration-->LanguageSupport--->Install/Remove Languages

 

1.4.3 配置终端窗口

应用程序--〉附件--〉终端按右键可将终端添加到面板 方便日后使用


1.4.4 关于root帐号

Ubuntu缺省禁用root,可以使用sudo passwd root来设置root密码

   屏蔽 root 帐号 使用: sudo passwd -l root

 

1.4.5 以root登录

右上角电源图标按左键,选择切换用户


1.5 共享

1.5.1  虚拟机访问windows


共享

windows中为目录设置共享

 访问

虚拟机中 位置〉计算机〉网络windows网络VIATELECOM  输入用户名,域名,密码即可


1.5.2      Windows访问虚拟机

共享

位置〉主文件夹

选择要共享的文件夹,按右键〉共享选项来创建共享

$ifconfig查到ip地址

 

如果共享失败:

1.sudo cp/usr/bin/testparm.samba3 /usr/bin/testparm

2.sudo cp/usr/bin/net.samba3 /usr/bin/net

3.sudochmod +x /usr/bin/testparm /usr/bin/net


 

访问

回到windows, Run, 输入上面查到的ip地址,输入用户名密码即可


1.6  Install VMware Tool


安装VMware可以改变虚拟机显示的大小,也可以让真机喝虚拟机实现字符串相互拷贝,相互分享共享目录......

1.6.1 进入ubuntu系统后,选择vmware 菜单VM->Install VMware tools

1.6.2 回到虚拟机(Ubuntu)桌面会看到一个vmware tools的cdrom图标。

1.6.3 打开它,复制“vmwaretools....tar.gz”,到 {your select dir} ; 解压为文件夹 vmwaretools....

1.6.4 查看刚才解压的目录vmwaretools下的.pl文件是否有执行权限,如果没有则添加

1.6.5 sudo ./vmware-install.pl

1.6.6 接下来一路输入YES或者回车,直到你看到---the vmware team就可关闭窗口,然后重新启


Ubuntu 10.10 在安装的时候我碰到几个问题:

Console显示:
  1. What is the location of the directory of C header files that match your running  kernel? [/usr/src/linux/include] 
  2. [ENTER]
  3. The path "/usr/src/linux/include"  is not an existing directory.  

 

由于 Kernel 版本是 APT 抓下來的最新版,所以需要输入 “/usr/src/linux-headers-2.6.35-22-generic/include “

 

要注意的是,VMWare Tools 安装时会询问目前系统使用的 Kernel header,所以如果 /usr/src 下有多个 Kernel header 目录,最好先执行 “uname -r“ 指令,确认应该使用那个本版。另外可以不直接使用 “/usr/src/linux-headers-2.6.35-22-generic/include” ,先 “sudo ln -s /usr/src/linux /usr/src/linux-headers-2.6.35-22-generic/include”



Console显示:
  1. What is the location of the directory of C header files that match your running  kernel? [/usr/src/linux/include] /usr/src/linux-headers-2.6.35-22-generic/include  

 按回车以后,还是报错说,指定的Kernel headers和当前系统使用的版本不匹配。


Console显示:
  1. The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match  your running kernel (version 2.6.35-22-generic). Even if the module were to  compile successfully, it would not load into the running kernel.     

但事实并不是不匹配,而是 Kernel 中有一个变量 UTS_RELEASE 的不存在了。以前这个定义放在 /usr/src/linux-headers-2.6.35-22-generic/include/linux/version.h ,而现在已经移到了/usr/src/linux-headers-2.6.35-22-generic/include/linux /utsrelease.h。所以简单的方法,我们只需要在version.h中添加 #define UTS_RELEASE "2.6.35-22-generic" (具体值使用 “uname -r“ 查看)

接下来继续,又会有新的错误提示!! -_-|| 找不到 autoconf.h 原因是因为 autoconf.h 不再VMware tools 安装程序预设的寻址目录中。

Console显示:
  1. The path  "/usr/src/linux-headers-2.6.35-22-generic/include"  is a kernel header  
  2. file directory, but it does not contain the file "linux/autoconf.h"  as  
  3. expected. This can happen if the kernel has never been built, or if you have  
  4. invoked the "make mrproper"  command in your kernel directory. In any case, you  
  5. may want to rebuild your kernel.    

 

可以简单的把它链接过来:

cd /usr/src/linux-headers-2.6.35-22-generic/include/linux

sudo ln -s ../generated/autoconf.h ./  

然后应该能顺利完成安装了


------------------------------------------------------------------------------------------------------------------------------------------------

(二) 下载代码,编译,调试


1.1  安装更新库

为了能够编译和下载google发布的android源码,需要一些额外的工具和库的支持。

在命令行终端输入如下命令安装这些工具和库,命令apt-get就是从软件源进行各种软件的更新和安装


1.1.1常用库及工具

$ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

1.1.2 Valgrind

 a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc

$ sudo apt-get install valgrind

1.1.3 libreadline

$ sudo apt-get install lib32readline5-dev


1.1.4 sun-java6-jdk的安装

由于Ubuntu 10.10自带的java不是sun-java6-jdk,因此无法直接安装,需要更新软件源重新下载安装

1.1.4.1    修改ubuntu的软件源

$gedit /etc/apt/sources.list

在最后一行加入

deb http://cz.archive.Ubuntu.com/ubuntu hardy-updates main multiverse

1.1.4.2    更新源文件

$ apt-get update

1.1.4.3    安装sun-java6-jdk

$apt-get install sun-java6-jdk

安装过程中会出现正在设定的窗口,此窗口要求按确定,无法用鼠标,需要用tab键切换到确定(红底黑字)被选中,再按回车

1.1.4.4    设置java环境

$gedit /etc/profile

在该文件最后加入

JAVA_HOME=/usr/lib/jvm/java-6-sun

export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$PATH

1.1.4.5    设置系统默认的jdk版本为1.6

如果系统中安装了多个版本的jdk,可以使用下列命令来查询,修改

1.察看当前配置,并修改配置

$update-alternatives –config java

1.1.4.6    Ubuntu默认为dash, dash功能较弱,所以将其改为bash.

$ln –snf /bin/bash /bin/sh


1.2 安装Eclipse

1.2.1 下载

Ubuntu 10.10虚拟机里打开浏览器,http://www.eclipse.org/downloads/, 选择Eclipse Classic 3.6.1  169M,  Linux 32 bit下载, 下载完成清空列表,关闭窗口

打开文件管理器, 下载后的文件存在于download目录

位置〉主文件夹


1.2.2 安装

将下载的文件复制到usr/lib目录,双击解压缩, 然后找到eclipse按右键选择创建链接,将创建的链接拖动到桌面即可方便的运行eclipse, 或者你也可以把它加到菜单项 System->Preferences->Main Menu, 选择ProgrammingNew Item,这样就可以通过菜单执行了

1.2.3 安装ADT

Android Development Tools开发插件

运行Eclipse,选择help->Install new software 选择add,将会弹出一个框输入http://dl-ssl.google.com/Android/eclipse, OK

选择要安装的软件,点next,然后选择接受协议,直到安装成功


1.3 repo

切换到usr/bin目录

$ curl http://android.git.kernel.org/repo >repo

$ chmod a+x repo


1.4 android gingerbread 源码获取

1.4.1      创建代码目录

$ mkdir Gingerbread

$ cd Gingerbread

1.4.2      初始化repo客户端

使用下列命令初始化  -b代表branch , gingerbreadandroid 2.3的分支名字,  Android版本都对应有个代号,基本以甜品命名

Cupcake(1.5)àDonut(1.6)àÉclair(2.0)àFlan(2.1)àFroyo(2.2)

现在能下载到的最新源码是gingerbread(2.3)

我还下载了android-2.1_r2éclair,  froyo

 

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

过程中会要求输入用户名和电子邮件

To use the Gerrit code-review tool, you will need an email address that is connected with a registered Google account (which does not have to be a Gmail address). Make sure this is a live address at which you can receive messages . The real name that you provide here will show up in attributions for your code submissions.

Init结束会提示

repo initialized in /Gingerbread


1.4.3      同步代码

使用sync来同步源码

$ repo sync


1.4.4      使用http获得代码

13.3中的repo脚本打开,把git改为http

23.4.2中使用$ repo init -u http://android.git.kernel.org/platform/manifest.git -b gingerbread初始化客户端

3.修改源码目录.repo/manifest.xml文件 fetch=”git:改为fetch=”http


1.5      代码编译

1.5.1      编译

得到源代码后,编译十分简单。进入源代码的根目录下,输入make即可进行编译。

Android2.3默认在64bit上编译,需要修改如下make文件才能在32bit机器上编译

$ gedit build/core/main.mk

#ifneq (64,$(findstring 64,$(build_arch)))
ifneq (i686,$(findstring i686,$(build_arch)))

$(warning ************************************************************)
$(warning You are attempting to build on a 32-bit system.)
$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
$(warning ************************************************************)
$(error stop)
endif


gedit external/clearsilver/cgi/Android.mk,
gedit external/clearsilver/java-jni/Android.mk,
gedit external/clearsilver/util/Android.mk,
gedit external/clearsilver/cs/Android.mk

#LOCAL_CFLAGS += -m64
#LOCAL_LDFLAGS += -m64
LOCAL_CFLAGS += -m32
LOCAL_LDFLAGS += -m32


1.5.2      配置Android SDK

make编译完成后,执行make sdk命令,生成对应于该版本源代码的sdk

1.5.3      设置路径

cd ~

gedit .bashrc

将下列两行添加到文件末尾。其中[Android源码目录]android源码所在路径

export PATH=$PATH:[Android源码目录]/out/host/linux-x86/bin

export ANDROID_PRODUCT_OUT=[Android源码目录]/out/target/product/generic

保存文件。在终端中执行source ~/.bashrc

1.5.4      设置SDK

打开Eclipse

设置Android SDK HomeWindow->Preference

如下图设置android SDK路径,然后选择Apply


1.5.5      导入工程

1.5.5.1    .classpath文件

android源文件根目录执行如下命令,将eclipse工程配置文件移到根目录。并设置为可写状态。

$ cp development/ide/eclipse/.classpath .classpath
$ chmod u+w .classpath

1.5.5.2    修改eclipse程序的配置

1)修改eclipse缓存设置

eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值:
-Xms128m

-Xmx512m

-XX:MaxPermSize=256m  

2)把android-formatting.xmlandroid.importorder导入eclipse

android-formatting.xml.classpathandroid.importorder都放在development/ide/eclipse/ android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipseimport的顺序和结构。

window->preferences->java->Code style->Formatter中导入android-formatting.xml
window->preferences->java->Code style->Organize Imports中导入android.importorder

1.5.5.3    创建工程

File—New—Java Project

去掉Use default location的勾,选择Gingerbread目录,如下图所示

 

完成后可以build该工程。可能会出现编译错误,可以通过修改.classpath文件修正

上图中JRE要改为1.6,如果创建时忘记了,可以在创建完成后在属性里修改

.classpath要添加

Framework/ex/common/java目录


1.5.6      Eclipse中调试

关闭eclipse

1. 环境配置

$.  build/envsetup.sh

那么就会多出mm/mmm等命令,mm/mmm用来编译模块(包括CC++、JAVA程序)。我们也可以直接在 android源码根目录下执行“make 模块名来编译模块。

2.编译模拟器

$lunch 1

3.启动模拟器

$emulator&

4.启动ddms

 DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。

在安装好的android sdk包里面,包含了ddms,启动eclipse,在Eclipesdebug中,选择other,在弹出的窗口中,可以看到ddms,点击就可以显示出来了,详细说明,请看http://www.moandroid.com/?p=638

$ddms&

 

这里需要说明一下:

如果是使用eclipseADT插件ddms的,则先启动eclipse.

如果使用控制台命令启动ddms的,需要在eclipse之前启动,

a. 使用ADT插件ddms,需要设置port 8700,打开Eclipse

RunàDebug ConfigurationàRemote Java Application按右键选New, 如下图设置Name, ProjectPort(8700)需与ddms的虚拟机端口号一致. 然后Apply, Debug.

 

 

 b. 使用控制台命令启动ddms,需要设置port 8800,如下所示


以上都是我从网上摘录,自己稍加整理,留作备份. 如有违反版权,请告知!

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值