Android 平台 Firefox —— Fennec 编译手记 Firefox for mobile,开发代号为Fennec。详情参见维基百科: !
第一步安装Sun Java jdk6(Android SDK依赖)
- # Ubuntu 11.10 and after
- Download Java from Oracle
- sudo mkdir /opt/java
- sudo mv ~/Downloads/jdk-6u29-linux-x64.bin
- sudo chmod +x ./jdk-6u29-linux-x64.bin
- sudo ./jdk-6u29-linux-x64.bin
- ln -f -s /opt/java/jdk1.6.0_29/bin/* /usr/local/bin/
- # something like sudo update-alternatives
- sudo apt-get install mercurial ccache
- sudo apt-get build-dep firefox
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
第二个东西,会有个确认。网速较慢,还是要下一会的。
1.3)安装Android NDK
下载并提取Android NDK。NDK版本4-7已测试可用。编译人员当前用的是NDKr5c。
- wget http://dl.google.com/android/ndk/android-ndk-r5c-linux-x86.tar.bz2
- tar -xjf android-ndk-r5c-linux-x86.tar.bz2
wget下载和tar解压在了当前目录。pwd:~/env。
1.4)安装Android SDK
安装最新版本的Android SDK。会比较久,可以去喝杯咖啡,什么什么的==。
- wget http://dl.google.com/android/android-sdk_r13-linux_x86.tgz
- tar -xzf android-sdk_r13-linux_x86.tgz
- ./android-sdk-linux_x86/tools/android update sdk
- ./android-sdk-linux_x86/tools/android update adb
最好配置下sdk tools的path,恩,是要加一下。
- gedit ~/.bashrc
例如我的SDK在“~/env/android-sdk-linux”,则添加如下:
- export PATH=$PATH:$HOME/env/android-sdk-linux/platform-tools:$HOME/env/android-sdk-linux/tools
- source ~/.bashrc
- draw9patch
1.5)增加链接速度(AKA using gold)
在一些系统上,链接libxul会花费几分钟。使用gold而不是Id能够减少这些时间(在我机器上从大u邪恶7分钟减少到1分钟多;另一个机器,YMMV,从25秒减到10,删除全部系统缓存后,从2分钟到1分钟)。
使用gold,你必须自己用binutils源码编译它。你可以运行如下的命令来编译它。
- sudo apt-get install bison flex (or equivalent for your distribution)
- mkdir ~/gold; pushd ~/gold
- wget http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2
- tar xfj binutils-2.22.tar.bz2
- mkdir binutils-build; pushd binutils-build
- ../binutils-2.22/configure
- make
- make install
- popd
将会创建一个$HOME/gold/arm-linux-androideabi/bin/arm-linux-androideabi-ld.gold二进制文件。通过运行--version来确认其正确并能运行:
- cd arm-linux-androideabi/bin/
- ./arm-linux-androideabi-ld.gold
注意:这部分在NDKr7上可能运行不正确,正在处理中,什么的。
和通常一样编译(make -f client.mk),只是要用设定不同的mozconfig。
这里就会下载源码了,之后需要修改mozconfig配置。
- cd ~/env(先切换下目录)
- hg clone http://hg.mozilla.org/mozilla-central/ src
正在增加XXX,等了好久。不知道持续了多长时间,第二天过来,下好了==。
- cd src
- gedit mozconfig-droid(vi不熟的,路过~)
- # Add the correct paths here:
- ac_add_options
- ac_add_options
- ac_add_options
-
- # android options
- ac_add_options
- ac_add_options
- ac_add_options
- ac_add_options
-
- mk_add_options MOZ_OBJDIR=./objdir-droid
- mk_add_options MOZ_MAKE_FLAGS="-j9 -s"
- export MOZCONFIG=~/env/src/mozconfig-droid
这步的路径都注意点,和官方相比,我路径也都动过了。
- cd ~/env/src
- make -f client.mk build_and_deploy
最后报了两install错误。没事,应该是没连接手机,不能直接安装的原因。
- cd objdir-droid/dist/
- ls fen*
恩,看到了“fennec-15.0a1.en-US.android-arm.apk”文件了(或者类似)。连接手机,安装咯~
- adb install -r fennec*.apk
命令我是一条条执行的,省得哪步出错都不知道。不过貌似没啥问题==
ps:Fennec支持Adobe Flash Player,不过需要注意以下特别说明:
Adobe Flash针对Android采用了分版本策略,Android 4.0和较低的系统版本分别使用不同的Adobe Flash,这次更新仅针对Android 4.0系统升至11.1.112.61,其他设备的Flash仍然保留在11.1.111.5(摘自:)
apk下载地址: !(51下载权限过低,一次放不了这么大个==)
本文转自winorlose2000 51CTO博客,原文链接:http://blog.51cto.com/vaero/858505,如需转载请自行联系原作者