Ubuntu11.10 64Bit版上的Android 4.0 开发环境搭建
据说Android以后新版本只支持64bit版本开发,所以搭建一个64bit系统的Android开发环境为将来的Android4.0 及更高版本 开发打好基础。
一、准备工作
1.1 硬件
PC 一台(支持64bit),内存最好4G,硬盘最好1T,CPU最好4核心,显卡无所谓,光驱一个。
1.2. 软件
1.2.1 Ubuntu 11.10 64bit desktop版光盘一张
下载地址:www.ubuntu.com.cn
本次使用的是:http://www.ubuntu.com/download/ubuntu/download
下载以后刻录一张系统启动盘。
1.2.2 Eclipse J2EE版最新Linux 64Bit 软件
下载地址:www.eclipse.org
1.2.3 Android SDK 最新版
下载地址:http://developer.android.com/index.html
本次使用的是:http://developer.android.com/sdk/android-4.0.html
二、开始干
2.1 安装Ubuntu 11.10 64bit系统
插入Ubuntu 11.10 64bit的系统光盘,BIOS设置为光盘引导。具体的就不详细讲了,如果不会或者有问题,搜索一下就可以搞定的啦。这里要强调的一点的是,安装时选择English语言安装。
关于安装系统可以参看链接:http://wiki.ubuntu.org.cn/UbuntuHelp:Installation/zh
2.2 安装基本软件
调起终端命令行,输入如下命令:
$ sudo apt-get install git gitk git-gui valgrind ssh
python就不用管啦,默认系统就有了。
2.3 JDK 安装
调起终端命令行,输入如下命令:
$ sudo add-apt-repository "deb http://archive.canonical.com lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
这里安装JDK时,有一些协议需要确认,按tab键,切换焦点,空格或者回车确认。
2.4 安装需要的包
调起终端命令行,输入如下命令:
$ 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 lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils lib32readline-gplv2-dev gcc-4.5 g++-4.5 gcc-4.5-multilib g++-4.5-multilib
这里要说明的是lib32readline-gplv2-dev是为了代替lib32readline5-dev。
gcc-4.5 g++-4.5 gcc-4.5-multilib g++-4.5-multilib这几个包是为了兼容较早版本的Android系统。如果没有安装的话,编译Android 2.3及以前版本的源代码时,会导致编译错误。这些错误是由于Ubuntu11.10系统自带的gcc4.6导致的。
其中一些包是为了配合Android系统中一些还没有完全切换到64bit的软件或者代码而安装的。如果没有安装这些软件,编译Android 的源代码时,会导致32bit和64bit引起的不兼容性链接错误。如:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++ /usr/bin/ld: cannot find -lstdc++
2.5 USB 访问配置
切换到root用户,创建/etc/udev/rules.d/51-android.rules
文件,拷贝如下内容到此文件保存。# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="<username>"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="<username>"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="<username>"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="<username>"
如果root用户密码不正确,那是因为初次安装完系统后,root被禁用了,参照另外一个文章使能。
http://blog.csdn.net/forlong401/article/details/6884860
2.6 安装常用的软件
打开应用商店(Ubuntu Software Center),找到下面的软件,然后安装。
Meld, SQLite database browser, SQLiteman, Skype, VirtualBox, Chromium Web Browser, StarDict, openFetion, iptux. 按照自己的需求安装吧。
Ubuntu 11.10默认没安装GNOME桌面系统,对于习惯老Ubunut的用户是一个挑战,如果你还怀念gnome,那么可以安装gnome桌面环境 The GNOME Desktop Environment。
2.7 安装中文
打开language Support应用(按下windows的那个键,就会出现Dash home,然后输入language support,选中即可),按照提示安装,再切换到中文,应用后,重启后再切换回英文。
这一步的目的是让系统在英文环境下不要乱码(当然有些地方难免还是会有),还有中文输入法还是要的。最后我们的工作环境是英文系统。
2.8 配置Eclipse和Android开发工具
把下载的Eclipse和Android SDK放到一个目录下并解压,如Android_tools文件夹。
然后确认eclispe那个可执行文件的权限(需要执行权限),按下windows的那个键,就会出现Dash home,然后输入main menu,选择Programming,点击New Item,将Eclipse的路径加入即可通过菜单执行了。图标也是可以换的。
运行Eclipse,选择help->Install new software
选择add,将会弹出一个框:
输入http://dl-ssl.google.com/Android/eclipse或者https://dl-ssl.google.com/Android/eclipse,点ok(点击无反应,按回车)
选择要安装的软件,点next,然后选择接受协议,直接安装成功,Eclipse会建议你重启,
点击yes即可。
重启Eclipse,设置Android SDK Home,选择Window->Preference->Android
SDK Location
在SDK Location中输入SDK tools的路径,如:~/android_tools/android-sdk-linux_86/,
点击Ok。这样在Linux机上Android的开发环境就搭建完成了。
打开Android SDK and AVD Manager,可以运行SDK 目录中Tools目录下android程序,
或者在Eclipse中选择"window" -> "Android SDK 和 AVD Manager"菜单
在打开的Android SDK窗口中,选择Available Packages,勾选你要的组件,
然后安装选择的即可,在弹出来的窗口中记得选择“Accept All”。
否则某些默认不是Accept的组建不会安装。
安装完成后,就可以选择Android virtual Device manager窗口,点击
“New”新建一个设备,名字随便。选择一个target,如4.0的,创建好之后就可以点击
“Start”运行模拟器了
2.9 配置环境变量
打开~/.bashrc文件,在最后添加PROJECT_HOME, ANDROID_PRODUCT_OUT, ANDROID_SWT三个变量。
3.0 VirtualBox的配置
一般安装一个xp系统配合ubuntu系统使用,新建一个,然后找到xp的iso安装后做两个配置:
第一个是共享目录设置(为了xp和ubuntu交换数据),在virtualbox的setting中的Shared Floders中添加一个路径即可。
第二个是usb访问,在ubuntu的命令行中输入
$ sudo usermod -G vboxusers -a "这里是管理员用户名"
三、参考链接
http://source.android.com/source/initializing.html
http://wiki.ubuntu.org.cn/UbuntuHelp:VirtualBox/USB
http://blog.sina.com.cn/s/blog_59cf67260100l3zh.html
http://blog.csdn.net/forlong401/article/details/6284337
http://blog.csdn.net/forlong401/article/details/6871076
http://blog.csdn.net/forlong401/article/details/6871054
http://blog.csdn.net/forlong401/article/details/6885451
四、结束语
在比较新的机器上发现了系统重启时死机的问题,可以参考下面的方法解决:
/boot/grub/grub.cfg 的111行(如果内核更新,请参照相关部分修改)
linux /boot/vmlinuz-3.0.0-12-generic root=UUID=c9c8fe57-c581-4289-9f94-394ff632e611 ro quiet splash vt.handoff=7noapic=yes添加红色的部分,禁用apic。
是不是觉得很麻烦啊,哈哈,哥哥我默默唧唧也搞了好几天(很多时候是由于网速太慢,哈哈),遇到问题也是摆了很久的度啊。
前几年,也在不同的ubuntu版本上配置了不同的android开发环境。慢慢总结了一些有用的东西,也有一些更新和改进。
也是由于这些原因,所以写了这篇文章和大家分享,希望能给大家点帮助。
当然由于本人能力有限,文中难免有不足和错误,还请大家在评论中指出,以便后来看的朋友能少走弯路,当然我也可以完善一下本文。