• [置顶] 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

  • 相关阅读:
    MVC模式简单介绍
    Android AES加密算法及事实上现
    01背包问题
    C++继承经典样例
    [React] React Fundamentals: Using Refs to Access Components
    [React] React Fundamentals: Owner Ownee Relationship
    [React] React Fundamentals: State Basics
    [React] React Fundamentals: First Component
    [Javascript] Lodash: Refactoring Simple For Loops (_.find, _.findLast, _.filter)
    [Javascript] Create an Array concatAll method
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3278126.html
Copyright © 2020-2023  润新知