Arch Linux 下 Android 源码下载与编译
最近工程实践的老师让我把 Android 环境搭建起来,并且将界面换成黑白的,算是一个考验,这里就记录一下具体的做法。
Android 源码以前没有注意过,一直以为是 git 管理,看了一下文档,才知道 Google 在 git 上面又加了一个叫做 repo 的工具,用来管理大量的 git 仓库。
repo 这个工具在 AUR 里面有,叫做“repo-git”,首先要把这个工具安好。
按照官网的下载说明,安装下面几个包:gperf sdl esound wxgtk valgrind,当然 base-devel 这个 group 也肯定都要装的了。64 位系统还要装 lib32-readline 和一些其他 32 位包,不过因为我装了 wine,所以所有依赖包都已经装好了。
官网说只能用 jdk5,不过我克服万难从 AUR 上安装好老掉牙没人管的 jdk5 之后,编译时提示我 jdk 版本不对,请使用 jdk6 ……同学们引以为戒,官网说明已经过时了。安装好 jdk 后重启一下系统更新环境变量,当然你也可以:
$ source /etc/profile
然后随便建个目录,比如我是 ~/Workspace/mydroid,进入这个目录后:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
这是获得最新的 git stable 源码,或者你仅仅想要 Android 2.2.1,那么:
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.2.1_r1
其实就是 git branch 的封装,manifest 是一个 git 的仓库目录,里面就一个 xml 文件,记录了各个仓库的信息,repo 根据这些信息来 clone 源码。
这条命令会问你的名字和 E-mail,其实就是 ~/.gitconfig 中的信息,如果你以前常用 git,直接回车即可。
下面就是同步源代码了:
$ repo sync
Android 的源代码大约有 2G,在我令人发指的网络环境下,同步了 2 天才完事,所以速度在 200K 以下的同学就不要凑热闹了,找个地方画圈圈吧……
这个过程中就是一堆的 git clone、git rebase,如果中断了,会从第一个开始慢慢扫描,直到之前中断的那个仓库,按照 git clone 不支持断点续传的习性,这个被中断的项目会被重新 clone。要知道,Google 这个脑残最恶名昭彰的一点就是把二进制文件往 git 里面放了,第 252 个仓库 prebuild 就是这么个地方,700M,我就在这里中断过……
闲话少说,下面是两个针对 Arch Linux 的 Fix,一个是 Make,目前 testing 中的 make 是 3.82 版本,这个版本在编译 Android 的时候开始会出错,见这个帖子,所以要降级成 core/make,也就是 3.81。
另外,如果用的是 64 位系统,那么要安装 multilib 源中的 gcc-multilib,否则会出现 libgcc.a 不兼容的错误。
全部完成之后,直接执行 make 就可以编译源代码了,当然 Makefile 有很多规则,比如只想编译计算器这个程序,make Calculator 即可。
最后就是用模拟器执行啦,建个脚本执行即可:
#!/bin/bash export ANDROID_PRODUCT_OUT=~/Workspace/mydroid/out/target/product/generic # PATH for Android emulator export PATH=$PATH:~/Workspace/mydroid/out/host/linux-x86/bin export ANDROID_JAVA_HOME=$JAVA_HOME # start the emulator with debug info emulator -debug-init
最后是几张模拟器的图片,是我改成黑白之后的:
Live Android: 在电脑上使用 Android 系统
Google 推出 Android 系统已经很长时间了,不少网友已经购买了一款 Android 手机防身,怎么,你还在观望么?还在怀疑 Android 系统的实用性?放心吧,手机店里的手机是不会让你随便体验的!那么,电脑上?是的,从 Linuxtoy 得来的消息,已经有个叫做 Live Android 的项目,让你在自己的电脑上体验一番 Android 了,详细情况及下载地址可以去其项目主页看看。
还没有尝过 Android 的鲜,我当然下载来试试啦,最新版本是 0.2,使用前先看说明,有安装方法和其他的说明,注意验证一下 MD5,0.2 版 LiveCD 的 MD5 为:
liveandroidv0.2.iso MD5: 03852bce8cb26aba21d147153c1fb120
我第一次就是因为没有验证 MD5,结果卡在启动界面进不去,呵呵。
我是使用 Virtualbox 虚拟的 Android,过程就像普通的系统配置一样,甚至更加简单。
经过了 Linux 风格的 Kernel Panic 和 Splash 之后,初始的界面如图所示(默认是英文,当然我已经把语言改为简体中文了):
可以看到几个普通手机上很常见的快捷方式,还有一个特别显眼的 Google 搜索条,无视掉这两样,我们点击右边的抽屉按钮,什么?点击?是的,Live Android 是支持鼠标的,看到屏幕上那个半透明的三角形了么?那是鼠标指针。点击后出现下图的应用程序列表:
好吧,别指望在这里能够使用摄像头来照相和摄影,更不要幻想发短信和打电话,我们来试一下电子邮件吧~输入帐号和密码,轻松就可以设置好,当然非 GMail 用户可能要设置 POP3、SMTP、IMAP 之类的,GMail 用户直接跳过。接收邮件后,发现有些非 UTF-8 编码的中文标题会显示乱码,不过不要紧,正文会正常显示。
邮件客户端的设置很强大,抵得上电脑上的邮件客户端了,而且还附带新邮件提醒功能。
接下来看一下浏览器,可以看到,Kissuki 的手机版在 Android 下显示完美,呵呵,主题也很配~对了,浏览器支持文本查找,很方便。
当然,这款不知名的浏览器是多窗口的,这可比 Opera Mini 强多了~显示窗口缩略图的时候,有很美的滑动特效,事实上,Android 上面充满着各种滑动和渐进特效,让操作看起来很平滑。当然,你也看到了,它并不支持 Flash,想看在线视频,要另想办法了……不过,它支持 Gears,倒是很令人意外……
除此之外,Android 还隐藏着很多实用的小功能,比如我刚刚发现的多桌面功能、桌面小工具、隐藏在顶部的通知栏、开发工具中的虚拟终端等等,这恐怕需要长期使用才能完全挖掘出来了。
总体来说,Android 是一款集 Google 的严谨和 Apple 的动感于一身的操作系统,不得不说,我的 E680i 实在是落伍了。Android 给我的感觉,更适合于 Geeker 们,也只有他们才需要在手机上运行虚拟终端这种东西吧……也只有他们,才能把 Android 的真正实力发挥出来……既是用户,又是开发者,正如 Linux,当然,Android 本来就是 Linux。
最后,如果你准备体验 Android 了,一定要记住以下两个键子,Esc 和键盘上右键菜单那个键子,分别对应手机上的 C 键和菜单键。如果不知道这两个键子,使用时可能会不知所措哦~










