Android平台Firefox(Fennec:移动版火狐代号)开发入门
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-thumb2ac_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:移动版火狐代号)开发入门相关推荐
- android系统firefox,Android平台Firefox——Fennec编译手记
Android平台Firefox--Fennec编译手记 Firefox for mobile,开发代号为Fennec.详情参见维基百科:Click here! 官方手册 1)准备环境 1.1)安装J ...
- java android 五子棋游戏_基于Android平台五子棋游戏最终版.doc
基于Android平台五子棋游戏最终版 毕业设计(论文)任务书 毕业设计(论文)题目: 基于android平台的五子棋游戏的设计与实现 毕业设计(论文)要求及原始数据(资料): 1.综述国内基于and ...
- 新手学HTML 5移动开发——面向iOS和Android平台 完整pdf扫描版
新手学html5 移动开发--面向ios 和android平台的第i部分从第1章~第8章.第1章首先介绍了html4.01的基本原理,第2章通过生动且复杂的教程介绍了html5,其中包含了大量实例和屏 ...
- Android平台飞信客户端演示版
Android平台飞信客户端演示版 ★ 登录界面:可以点击"取消"登录,并且有登录超时剩余时间显示. ★ 主界面:显示用户的昵称.在线状态.心情短语等信息.并且用户可以在多种状态间 ...
- 基于Android平台的个人日历的设计与开发
基于Android平台的个人日历的设计与开发 摘要 个人日历是基于Android平台开发的,运行在Android手机平台的个人日程管理软件.本文是对基于Android平台的个人日历的设计与开发. 首先 ...
- android 布局中绘制语音曲线,基于android平台的老年人用药助手软件的开发-仪器仪表工程专业论文.docx...
基于android平台的老年人用药助手软件的开发-仪器仪表工程专业论文 Classified Index: TP319 U.D.C: 004.45 Dissertation for the Degre ...
- Java版AVG游戏开发入门示例 3 ——脚本引擎的制作及应用
源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...
- Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用
源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
最新文章
- Android程序ToDoList增加配置项页面
- camera理论基础和工作原理【转】
- jBPM3.12用户指南中文翻译----第二章 起步
- java自定义返回码_java – 自定义HTTP状态代码
- s4-4 以太网概述
- Flink : UnknownTaskExecutorException: No TaskExecutor registered under
- winform 只允许显示一个子窗体
- php和html怎么链接,PHP(6)只记录我的学习历程 html(链接和框架标志)
- 杭电oj —— 2052
- android studio设置SVN忽略
- python设置excel单元格数据类型为文本_Python xlwt设置excel单元格字体及格式
- 取值范围的计算 以及为何16位int类型范围是- 32768 ~ 32767 8位类型取值范围为什么是-128~127
- TrustedInstaller
- C# word类库 光标移动
- 天才作文-不知道有没有人发过 很有才
- 分享一些小技巧吧,MATLAB中常见问题及解决方案
- SQL 多表联合查询
- PHP对接僵尸,php – 终止从套接字服务器分叉的僵尸子进程
- 基于单片机的GPS模块
- 开学第一周——自我介绍