Android 平台 Firefox —— Fennec 编译手记 Firefox for mobile,开发代号为Fennec。详情参见维基百科: Click here! 官方手册 https://wiki.mozilla.org/Mobile/Fennec/Android 1 )准备环境 1.1 )安装Java

第一步安装Sun Java jdk6(Android SDK依赖)

        
  1. #Ubuntu11.10andafter
  2. DownloadJavafromOracle
  3. sudomkdir/opt/java
  4. sudomv~/Downloads/jdk-6u29-linux-x64.bin
  5. sudochmod+x./jdk-6u29-linux-x64.bin
  6. sudo./jdk-6u29-linux-x64.bin
  7. ln-f-s/opt/java/jdk1.6.0_29/bin/*/usr/local/bin/
  8. #somethinglikesudoupdate-alternatives--install/usr/local/bin/javajava/opt/java/jdk1.6.0_29/bin/1isclosetothedistrowayofregisteringjava
已安装,跳过~ 1.2 )安装Gecko 之后安装火狐编译的惯例需要的东西
        
  1. sudoapt-getinstallmercurialccache
  2. sudoapt-getbuild-depfirefox
问题1: E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它? 原因:系统正在更新==,等待完成或取消吧... 第二个东西,会有个确认。网速较慢,还是要下一会的。

1.3)安装Android NDK

下载并提取Android NDK。NDK版本4-7已测试可用。编译人员当前用的是NDKr5c。

        
  1. wgethttp://dl.google.com/android/ndk/android-ndk-r5c-linux-x86.tar.bz2
  2. tar-xjfandroid-ndk-r5c-linux-x86.tar.bz2

wget下载和tar解压在了当前目录。pwd:~/env。

1.4)安装Android SDK

安装最新版本的Android SDK。会比较久,可以去喝杯咖啡,什么什么的==。

        
  1. wgethttp://dl.google.com/android/android-sdk_r13-linux_x86.tgz
  2. tar-xzfandroid-sdk_r13-linux_x86.tgz
  3. ./android-sdk-linux_x86/tools/androidupdatesdk--no-ui
  4. ./android-sdk-linux_x86/tools/androidupdateadb
已安装,跳过~

最好配置下sdk tools的path,恩,是要加一下。

        
  1. gedit~/.bashrc
例如我的SDK在“~/env/android-sdk-linux”,则添加如下:
        
  1. exportPATH=$PATH:$HOME/env/android-sdk-linux/platform-tools:$HOME/env/android-sdk-linux/tools
保存退出。
        
  1. source~/.bashrc
  2. draw9patch
恩,打开OK!

1.5)增加链接速度(AKA using gold

AKA,嘛玩意儿? 在一些系统上,链接libxul会花费几分钟。使用gold而不是Id能够减少这些时间(在我机器上从大u邪恶7分钟减少到1分钟多;另一个机器,YMMV,从25秒减到10,删除全部系统缓存后,从2分钟到1分钟)。 使用gold,你必须自己用binutils源码编译它。你可以运行如下的命令来编译它。
        
  1. sudoapt-getinstallbisonflex(orequivalentforyourdistribution)
  2. mkdir~/gold;pushd~/gold
  3. wgethttp://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2
  4. tarxfjbinutils-2.22.tar.bz2
  5. mkdirbinutils-build;pushdbinutils-build
  6. ../binutils-2.22/configure--target=arm-linux-androideabi--prefix=$HOME/gold/arm-linux-androideabi--enable-gold--disable-werror
  7. make
  8. makeinstall
  9. popd
好吧,又可以一杯咖啡了~ 将会创建一个$HOME/gold/arm-linux-androideabi/bin/arm-linux-androideabi-ld.gold二进制文件。通过运行--version来确认其正确并能运行:
        
  1. cdarm-linux-androideabi/bin/
  2. ./arm-linux-androideabi-ld.gold--version
恩,很好,ok! 1.6 )使用mozillas 重打包的NDKs 注意:这部分在NDKr7上可能运行不正确,正在处理中,什么的。 都走到这一步,默默地继续用官方的ndk吧~ 1.7 )设定Fennec 的mozconfig

和通常一样编译(make -f client.mk),只是要用设定不同的mozconfig。

这里就会下载源码了,之后需要修改mozconfig配置。
        
  1. cd~/env(先切换下目录)
  2. hgclonehttp://hg.mozilla.org/mozilla-central/src

正在增加XXX,等了好久。不知道持续了多长时间,第二天过来,下好了==。
        
  1. cdsrc
  2. geditmozconfig-droid(vi不熟的,路过~)
设定mozconfig配置:
        
  1. #Addthecorrectpathshere:
  2. ac_add_options--with-android-ndk="$HOME/env/android-ndk-r5c"
  3. ac_add_options--with-android-sdk="$HOME/env/android-sdk-linux/platforms/android-13"
  4. ac_add_options--with-android-version=5
  5. #androidoptions
  6. ac_add_options--enable-application=mobile/android
  7. ac_add_options--target=arm-linux-androideabi
  8. ac_add_options--with-ccache
  9. ac_add_options--enable-tests
  10. mk_add_optionsMOZ_OBJDIR=./objdir-droid
  11. mk_add_optionsMOZ_MAKE_FLAGS="-j9-s"
设定环境变量:
        
  1. exportMOZCONFIG=~/env/src/mozconfig-droid
这步的路径都注意点,和官方相比,我路径也都动过了。 2 )编译
        
  1. cd~/env/src
  2. make-fclient.mkbuild_and_deploy
溜达去吧~ 最后报了两install错误。没事,应该是没连接手机,不能直接安装的原因。
        
  1. cdobjdir-droid/dist/
  2. lsfen*
恩,看到了“fennec-15.0a1.en-US.android-arm.apk”文件了(或者类似)。连接手机,安装咯~
        
  1. adbinstall-rfennec*.apk
3 )后记 命令我是一条条执行的,省得哪步出错都不知道。不过貌似没啥问题==

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(摘自:http://www.cr173.com/soft/16050.html)

apk下载地址: Cilck here!(51下载权限过低,一次放不了这么大个==)

更多相关文章

  1. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  2. Android(安卓)studio --1-- 从普通IntelliJ项目的迁移到Gradle
  3. Eclipse下搭建android开发环境
  4. Ubuntu 11.04 64位 编译 Android(安卓)2.3 源码
  5. android4.0下使用multiDexEnabled属性的踩坑日记
  6. 浅析Context及可能带来的内存泄漏问题
  7. android 将一些信息保存到本地,以后更新版本或者替换之后,数据在新
  8. Android(安卓)Studio3.3.2+gradle 3.3.2版本使用ButterKnife出错
  9. Android(安卓)Unable to find method org.gradle.api.tasks.Task

随机推荐

  1. ScrollView嵌套GridView的解决办法
  2. Eclipse 常用快捷键和使用技巧
  3. 《Android开发艺术探索》第六章Android的
  4. android对大图片压缩的方法
  5. cocos2dx 玩转震动
  6. android访问静态页面,出现405错误解决方法
  7. android UI效果三: 滚动切换屏幕
  8. Android仿IOS回弹效果 支持任何控件
  9. Android异步处理类AsyncTask
  10. Android(安卓)UI绘制流程之测量篇