[置顶] Firefox OS 学习——Gaia 编译分析
Gaia作为用户的接口,也是用户可见部分,一些用户的应用也是安装在这一层,所以研究他是很有必要的,对于像我这样的初学者,最直接的学习方法就是通过修改代码,然后可以看到UI的变化,很直观的观察修改结果。由于手里没有Firefox OS的真机,所有都是在模拟器上实现。
1.默认编译
直接切换到gaia目录下:
make
2.Debug 编译
DEBUG=1 make
这一部分具体的作用,我用模拟器暂时没有弄明白。
3.编译同时安装设备
make install-gaia
make reset-gaia
他们都是通过adb把gaia push 到设备中的。make reset-gaia 则是push gaia之前,把设备中profile 和apps 清空,相当于清空cache分区。 注意:reset-gaia对于真机存在一定的风险的,可能导致真机变砖头哦
这里说明下:编译过后,会产生profile文件夹和profile.tar.gz文件,具体内容就是把apps 打包。
4.单个app编译
APP=system make APP=system make install-gaia
单个app编译需要两个前提:a.gaia 必须全部编译过一次,即必须存在profile文件夹;b.要编译的app必须放在/gaia/apps/下面,system就是apps/内部的文件。APP=system make install-gaia 编译的同时也把system push 到设备中了。
=====================================预装app相关=====================================
1.delete many apps
只要修改Makefile中
GAIA_APP_SRCDIRS=apps test_apps showcase_apps
apps,teset_apps,showcase_apps是gaia下面的三个文件夹,里面含有不同的应用。这相当于批量删除预装apps。
2.delete one app
方法很简单,只要把app文件夹下的manifest.webapp 删除掉就可以了。
3.add one app
在apps,test_apps,showcase_apps任一目录新建一个app工程即可。manifest.webapp是工程必须,它当于android apk的manifest.xml和Android.mk的结合。
4.app many apps
a.在gaia目录下新建preload_apps文件夹
b.在preload_apps下新建preload1,preload2,preload3工程
c.在Makefile 中GAIA_APP_SRCDIRS= apps test_apps showcase_apps preload_apps
d.make reset-gaia
参考文章:
Hacking Gaia
最新文章
- 通过shell命令编辑xml文件--sed工具
- 【原创】ORACLE常见使用问题解决
- SQL查询~ 存在一个表而不在另一个表中的数据
- js 的 深拷贝 和 浅拷贝
- jquery 中的 this 和 $(this)
- a^b-b^a - SGU 112(高精度快速幂)
- VirtualBox 中的UBUNTU和java环境的配置以及各种常用说明
- FMS之Multi-point publishing技术
- ELK系列~log4-nxlog-Fluentd-elasticsearch写json数据需要注意的几点
- mybatis高级映射(一对一,一对多)
- JAVA百度过的异常(1)
- 004.Ansible Ad-Hoc命令集
- linux shell的here document用法(cat <;<; EOF)
- vins-mono代码分析
- IDEA新建一个Project和Module的问题
- B-tree B+tree B*Tree
- RabbitMQ广播模式
- input 输入框限制
- Intellij IDEA常用快捷键和一些配置——Mac版
- 数据类型转换(计算mac地址)