Mozilla已经发布了Fennec 4.0的源代码,可以支持诺基亚N800, N900和许多Android手机,但支持的比较好的Android必须是2.2以上的,有兴趣的朋友可以下载Fennec的源代码自己学习一下如何为 Android平台开发native的应用程序,毕竟现在NDK的开发资料非常的少,特别是深入到2D图像库,字库,输入法等等一系列的时候。

开发Fennec必须在linux平台操作,如果是windows的朋友,你们可以安装vmware虚拟linux,这里有一个大小为2.4G的ubuntu虚拟机,开发Fennec的环境已经配置好了,所以大家可以非常轻松的进行自己编译Fennec。

ubuntu vmware虚拟机下载地址:
http://lassey.us/droid-vm.7z

Fennec源代码下载(Mercurial软件,需要使用hg命令):

hg clone http://hg.mozilla.org/mozilla-central
cd mozilla-central
hg clone http://hg.mozilla.org/mobile-browser mobile

如果使用了droid-vm虚拟机的朋友就不用手动安装以下的开发环境了:

依赖关系:

1. 开发环境:

  • 必须是linux或者Mac OS X。
  • Android NDK - Mozilla社区提供的NDK, 加入了所有C++支持的NDK和sys/queue.h支持。
  • Android SDK -官方SDK

2. 安装依赖包(ubuntu系统):

sudo apt-get install python-software-properties
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get build-dep firefox
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts sun-java6-jdk
sudo update-java-alternatives -s java-6-sun

3. 如果你使用的是64位的linux, 你还需要安装ia32函数库:

sudo apt-get install ia32-libs

4. 下载安装Android NDK, SDK:

wget http://dl.google.com/android/android-sdk_r06-linux_86.tgz
tar xzf android-sdk_r06-linux_86.tgz
wget http://ftp.mozilla.org/pub/mozilla.org/mobile/source/android-ndk-r4c-0moz3.tar.bz2
tar xjf android-ndk-r4c-0moz3.tar.bz2
./android-sdk-linux_86/tools/android update sdk

准备好以后,我们就可以编译Android版的firefox:

1. 首先把下面的代码保存为mozconfig,并且放到你使用"hg"下载的源代码目录里面(mozilla-central).

OBJDIR=objdir-android
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/$OBJDIR

# Add the correct paths here:
ac_add_options --with-android-ndk="ABSOLUTE/PATH/TO/android-ndk-r4c"
ac_add_options --with-android-sdk="ABSOLUTE/PATH/TO/android-sdk-linux_86/platforms/android-8"

# android options
ac_add_options --enable-application=mobile
ac_add_options --target=arm-android-eabi
ac_add_options --with-endian=little

# Uncomment to run on ARMv5 or ARMv6 devices, including the emulator
#ac_add_options --disable-thumb2

ac_add_options --disable-tests

export MOZ_DEBUG_SYMBOLS=1

注意你需要把上面代码中的"ABSOLUTE/PATH/TO/修改为对应的android-ndk, android-sdk路径。

然后我们就可以使用ndk-build编译Fennec了。
编译结束后,到OBJDIR里面去执行"make package",会产生一个类似fennec-4.0b2pre.en-US.eabi-arm.apk的文件,
我们可以通过adb install fennec-4.0b2pre.en-US.eabi-arm.apk把firefox安装到android模拟器或者手机,使用
adb uninstall org.mozilla.fennec可以把firefox给卸载掉。

全文完。

作者:Aries @ 米狗族
来源:http://www.meegozu.com/thread-881-1-1.html
欢迎转载,转载时请保留以上信息。

转载于:https://my.oschina.net/meegozu/blog/12662

Android平台Firefox(Fennec:移动版火狐代号)开发入门相关推荐

  1. android系统firefox,Android平台Firefox——Fennec编译手记

    Android平台Firefox--Fennec编译手记 Firefox for mobile,开发代号为Fennec.详情参见维基百科:Click here! 官方手册 1)准备环境 1.1)安装J ...

  2. java android 五子棋游戏_基于Android平台五子棋游戏最终版.doc

    基于Android平台五子棋游戏最终版 毕业设计(论文)任务书 毕业设计(论文)题目: 基于android平台的五子棋游戏的设计与实现 毕业设计(论文)要求及原始数据(资料): 1.综述国内基于and ...

  3. 新手学HTML 5移动开发——面向iOS和Android平台 完整pdf扫描版

    新手学html5 移动开发--面向ios 和android平台的第i部分从第1章~第8章.第1章首先介绍了html4.01的基本原理,第2章通过生动且复杂的教程介绍了html5,其中包含了大量实例和屏 ...

  4. Android平台飞信客户端演示版

    Android平台飞信客户端演示版 ★ 登录界面:可以点击"取消"登录,并且有登录超时剩余时间显示. ★ 主界面:显示用户的昵称.在线状态.心情短语等信息.并且用户可以在多种状态间 ...

  5. 基于Android平台的个人日历的设计与开发

    基于Android平台的个人日历的设计与开发 摘要 个人日历是基于Android平台开发的,运行在Android手机平台的个人日程管理软件.本文是对基于Android平台的个人日历的设计与开发. 首先 ...

  6. android 布局中绘制语音曲线,基于android平台的老年人用药助手软件的开发-仪器仪表工程专业论文.docx...

    基于android平台的老年人用药助手软件的开发-仪器仪表工程专业论文 Classified Index: TP319 U.D.C: 004.45 Dissertation for the Degre ...

  7. Java版AVG游戏开发入门示例 3 ——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  8. Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  9. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

最新文章

  1. Android程序ToDoList增加配置项页面
  2. camera理论基础和工作原理【转】
  3. jBPM3.12用户指南中文翻译----第二章 起步
  4. java自定义返回码_java – 自定义HTTP状态代码
  5. s4-4 以太网概述
  6. Flink : UnknownTaskExecutorException: No TaskExecutor registered under
  7. winform 只允许显示一个子窗体
  8. php和html怎么链接,PHP(6)只记录我的学习历程 html(链接和框架标志)
  9. 杭电oj —— 2052
  10. android studio设置SVN忽略
  11. python设置excel单元格数据类型为文本_Python xlwt设置excel单元格字体及格式
  12. 取值范围的计算 以及为何16位int类型范围是- 32768 ~ 32767 8位类型取值范围为什么是-128~127
  13. TrustedInstaller
  14. C# word类库 光标移动
  15. 天才作文-不知道有没有人发过 很有才
  16. 分享一些小技巧吧,MATLAB中常见问题及解决方案
  17. SQL 多表联合查询
  18. PHP对接僵尸,php – 终止从套接字服务器分叉的僵尸子进程
  19. 基于单片机的GPS模块
  20. 开学第一周——自我介绍

热门文章

  1. 多商户商城系统功能拆解04讲-平台端商家入驻
  2. HR400接地漏电继电器
  3. Python实现简易五子棋(代码+注释)
  4. 单机游戏制作系列之一——初期准备
  5. 贴片电容102 103 104 105 106分别是多少?
  6. 是否将信息存储在云?
  7. CSS 雪碧图及其优缺点
  8. LTE成长笔记--下行参考信号:小区特定参考信号
  9. 求噪声功率 MATLAB,[转载]matlab中噪声功率、噪声方差关系
  10. pioneer软件VoLTE测试步骤,VoLTE方案及测试分析指导(全面)