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

最新文章

  1. 通过shell命令编辑xml文件--sed工具
  2. 【原创】ORACLE常见使用问题解决
  3. SQL查询~ 存在一个表而不在另一个表中的数据
  4. js 的 深拷贝 和 浅拷贝
  5. jquery 中的 this 和 $(this)
  6. a^b-b^a - SGU 112(高精度快速幂)
  7. VirtualBox 中的UBUNTU和java环境的配置以及各种常用说明
  8. FMS之Multi-point publishing技术
  9. ELK系列~log4-nxlog-Fluentd-elasticsearch写json数据需要注意的几点
  10. mybatis高级映射(一对一,一对多)
  11. JAVA百度过的异常(1)
  12. 004.Ansible Ad-Hoc命令集
  13. linux shell的here document用法(cat << EOF)
  14. vins-mono代码分析
  15. IDEA新建一个Project和Module的问题
  16. B-tree B+tree B*Tree
  17. RabbitMQ广播模式
  18. input 输入框限制
  19. Intellij IDEA常用快捷键和一些配置——Mac版
  20. 数据类型转换(计算mac地址)

热门文章

  1. Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索
  2. vijos P1375 大整数(高精不熟的一定要做!)
  3. 关于PHP导入项目的时候导入不了的情况
  4. 使用WMI控制Windows进程 和服务
  5. mssql的holdlock锁跟索引的关系
  6. iOS在Cocoa Touch Static Library使用CocoaPods
  7. 17个提升iOS开发效率的必用工具
  8. PHP MySQL 插入多条数据
  9. Delphi ComboBox的属性和事件、及几个鼠标事件的触发
  10. poj3278 BFS入门