一.安装VMware虚拟机
到系统资源目录下找到VMware-workstation-full-7.0.1.227600,解压后安装exe文件。按照提示信息,进行操作。
选择Typical 点next
然后找到Ubuntu9.10.iso 图操作:
然后按照提示往下继续安装系统,基本上很简单,不需要操作什么。
二.Ubuntu下的常规设置,及其开发必要软件安装。
在操作之前先装一个比较好的文本编辑器 vim:
$sudo apt-get install vim
1. linux打开远程控制,
System->Reference->Remote Desktop
2. linux开机后自动登录:
System->Administration->LoginScreen选择Log in as
3. linux系统根目录下创建一个共享目录android
$ sudo –i
$ cd /
$ mkdir android
$ chmod 777 android
在文件管理里面找到/android目录,选择共享该目录,会提示安装驱动,安装samba完毕后,添加共享目录, 并且在/etc/samba/smb.conf文件下添加如下内容:
$sudo gedit /etc/samba/smb.conf
[android]
comment = android
path = /android
guest ok = no
browseable = yes
writeable = yes
create mask = 0755
directory mask = 0755
然后重新启动samba
$sudo /etc/init.d/samba restart
关闭服务smaba的指令时
$sudo /etc/init.d/samba stop
4. 安装一些环境:
注意以下安装步骤都是在root权限下执行:
$sudo –i
接下来更新软件源:
$sudo apt-get update
$ apt-get install gnump flex bison gperf uild-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev git-core
其中curl是一个利用URL语法在命令行方式下工作的文件传输工具,它支持很多协议,包括FTP、FTPS、HTTP、HTTPS、TELENT等;
Git是Linux Torvalds(Linux之父)为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(Repository),许多个工作目录(Working Copy),而在Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库,它们支持离线工作,本地提交可以稍后提交到服务器上;
GnuPG(GNU Privacy Guard或GPG)是一个以GNU通用公共许可证释出的开放源码用于加密或签名的软件;
flex和bison都是词法分析器生成器,他们常常一起配合使用,使用它们可以生成解释器,编译器,协议实现等多种程序。
5. 更换默认sh软连接指向bash
一般装完系统,默认的sh是指向dash的,dash也是shell脚本的一种,但是已经过时,现在基本所有的shell脚本都用bash解析器.
$ rm /bin/sh
$ ln –s bin/bash /bin/sh
ls /bin/sh -l即可查看到sh已经指向bash了
6. change default gcc comple soft link to gcc-4.1 and default g++ comple soft link to g++-4.1
$ ls /usr/bin/gcc* -l
如果不是以下情况:/usr/bin/gcc -> /usr/bin/gcc-4.1,进行以下操作:
$ rm /usr/bin/gcc
$ ln –s /usr/bin/gcc-4.1 /usr/bin/gcc
修改之后,使用gcc –version 查看是否是正确的
$ ls /usr/bin/gcc* -l
如果不是以下情况:/usr/bin/g++ -> /usr/bin/g++-4.1, 进行以下操作:
$ rm /usr/bin/g++
$ ln –s /usr/bin/g++-4.1 /usr/bin/g++
修改之后,使用g++ –version 查看是否是正确的
7. 安装 arm-eabi-4.4.0
$ sudo tar xzvf prebuilt-0f1763c.tar.gz -C /opt
$ sudo mv /opt/prebuilt-0f1763c/ /opt/arm-eabi-4.4.0/
8. 安装JDK1.5
注:官方文档说如果用sun-java6-jdk可出问题,得要用sun-java5-jdk。经测试发现,如果仅仅make(make不包括make sdk),用sun-java6-jdk是没有问题的。而make sdk,就会有问题,严格来说是在make doc出问题,它需要的javadoc版本为1.5。
sudo mv jdk-1_5_0_22-linux-amd64.bin /opt/
cd /opt
sudo chmod a+x jdk-1_5_0_22-linux-amd64.bin
sudo ./jdk-1_5_0_22-linux-amd64.bin
输入:yes
9. 安装wine
wine是一款优秀的Linu系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,可以运行许多大型Windows系统下的软件。
sudo apt-get install wine1.2(最好是最新版本的)
安装软件的方法:
$ wine xxx(xxx代表存放软件的路径)
下面是安装完source insight之后的图片:
10. 安装Perl 5.8.X /Python 2.5.X/Gnu make 3.81(不过这个我在真机上没有安装,暂时没什么问题,这是MTK要求的,建议按照他的要求操作)
Perl 5.8.X --- 缺省安装是perl 5.10.x, (不能再vm的共享目录安装,否则会失败)
$tar xjvf perl-5.8.9.tar.bz2.tar
$cd perl-5.8.9
$./configure.gnu
$./make && make install
$mv /usr/bin/perl /usr/bin/perl.bak
$ln -s /usr/local/bin/perl /usr/bin/perl #这里要注意一下,因为有时候你安装的时候不一定在这个目录下,我在这就在这出现问题,我刚开始以为是在/usr/bin/perl, 最后在安装vsftp这个软件时, 一直报错。
$cd /
$perl –v
Python 2.5.X --- 缺省安装是python 2.6.x
$tar jxvf Python-2.5.5.tar.bz2
$cd Python2.5.5
$./configure
$make && make install
$mv /usr/bin/python /usr/bin/python.bak
$ln -s /usr/bin/python2.5 /usr/bin/python
$ python --version
11. 创建android编译环境配置脚本
$ sudo vim /etc/android.conf
将以下内容添加到该文件下:
12. 安装vsftp
$ sudo apt-get install vsftpd
安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。
如果没有生成这个用户的话可以手动来,生成了就不用了:
通过sudo vim /etc/vsftpd.conf修改,
配置文件如下:
一般情况下,只需要修改红色两行即可!!
代码:
# 上传总开关(全局控制)
write_enable=YES
# 接受匿名用户,默认无密码请求
#anonymous_enable=YES
# 接受本地用户
local_enable=YES
对了,更改配置后不要忘了重启ftp服务
sudo /etc/init.d/vsftpd restart
此外还有开启关闭服务的命令
sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
这样,就可以使用电脑的IP地址登陆这个ftp服务器了。
经过以上操作,环境基本上搭建完成。在真机上也是一样。
注意:当我们编译android软件时,需要先执行(在root权限下),我在这就遇到问题
$ sudo –i
$ source /etc/android.conf
对于测试,最好在真机上,因为在编译时,占用内存很厉害,对内存的要求最好在2G以上,这样效率就会很高。
三:编译android 测试一下:(alps1048v2p1.tar是源码)
1. 把alps1048v2p1.tar 拷贝到 HOME目录下的myandroid(其中myandroid是自己创建的),解压;
$ cd
$ cd myandroid
$ sudo tar xvf alps1048v2p1.tar.gz
$ cd liu*****
$ ./mk g1 n
其中****代表源码包的解压之后的目录,由于太长,就用其代表以下, 对于编译,可以参考makeMTK这个文件或者输入./mk -- help查看具体编译说明.
编译好之后,会输出到out/target/product目录下
以上内容是参照《Andoird Build Environment on Ubuntu 64 bit Installation SOP》,以及之前的各位同事所写的文档。