android_Zrevo目录结构

原创 2017年07月21日 21:59:38

今天一天看下来,有了大致的了解,感觉还是有必要用写下来把思路过一遍比较好,这其中理解的跟碎片一样,很多地方不到一起,

或者理解有错误,所以如果有哪位仁兄偶然看见了或者看过了,还请指正,万分感谢!

1:平台项目中的zrevo主要目录:

a80_xx02(项目配置目录):

---customer_a80_xx02.cfg

---env_a80_xx02.ini

---prj_config_a80_xx02.h

---PRJPreConfig_a80_xx02.mk

a80_xx02-huawei(a80_xx02衍生的配置目录):

---customer_a80_xx02-huawei.cfg

---env_a80_xx02-huawei.ini

---prj_config_a80_xx02-huawei.h

---PRJPreConfig_a80_xx02-huawei.mk


目录中各个文件的作用和关联性:

 customer_a80_xx02.cfg文件:主要定义了文件的定制和文件的拷贝

[a80_xx02-huawei-huawei]
CUSTOM_SP=BASE
packages=audio_para
    wificonnectivity_cfg
    bootsound
    bootanimation
    a80_ruiou_inlay_ring

[a80_xx02-huawei-admo]
CUSTOM_SP=admo
packages=audio_para
    wificonnectivity_cfg
    bootsound
    bootanimation
    huawei_admo_ring


 customer_a80_xx02.cfg文件中可能会有多个不同配置,如上面存在两个不同的配置a80_xx02-huawei-huawei和a80_xx02-huawei-admo。

当前项目使用的是哪一个,就是看编译代码时选择的配置是那个决定的。

cfg中packages变量(如bootsound,huawei_admo_ring)就指定了你当前配置下使用的开关机动画铃声,来电铃声。

cfg中packages变量只是配置好了,真正定义的地方是由:public-binary文件中的packages.xml文件定义的。

这里实现了将源文件拷贝到系统当中:

  <package name="bootsound">
    <file dst="system/media/bootsound.mp3" src="system/media/bootsound.mp3"/>
    <file dst="system/media/shutdownsound.mp3" src="system/media/shutdownsound.mp3"/>
  </package>
  <package name="huawei_admo_ring">
      <file dst="system/media/audio/ringtones/AdvanC1.ogg" src="project/a80/media/AdmoC1.ogg" />
      <file dst="system/media/audio/ringtones/AdvanC2.ogg" src="project/a80/media/AdmonC2.ogg" />
      <file dst="system/media/audio/notifications/AdvanN1.ogg" src="project/a80/media/AdmoN1.ogg" />
      <file dst="system/media/audio/notifications/AdvanN2.ogg" src="project/a80/media/AdmoN2.ogg" />
      <file dst="system/media/audio/alarms/AdvanA1.ogg" src="project/a80/media/AdmoA1.ogg" />
      <file dst="system/media/audio/alarms/AdvanA2.ogg" src="project/a80/media/AdmoA2.ogg" />
  </package>

cfg中packages变量的值用于选择那些应用或这二进制资源将被拷贝到out目录中.


env_a80_xx02.ini文件,此处列举出的是一个项目ini配置中的必须项,因为这些是与编译系统逻辑相关的。

      [a80_xx02]
      HUAWEI_PRODUCT_NAME="a80_xx02"
      CUSTOM_SP=BASE
      DRIVER_SP=BASE
      TARGET_PRODUCT=huawei_xx02
      TARGET_BUILD_VARIANT=userdebug
[a80_xx02]:这个定义作为一个配置的key值定义,用于区分各个配置。

REVO_PRODUCT_NAME="a80_xx02" 这个变量非常重要,它用于告诉编译系统,当前所属的配置在哪个目录?

并且确定了各个配置文件的文件名。比如这里HUAWEI_PRODUCT_NAME="a80_xx02",给我们提供了以下信息:

当前需要的配置文件在目录a80_xx02目录下
使用的配置文件是env_a80_xx02.ini、customer_a80_xx02.cfg、prj_config_a80_xx02.h,PRJPreConfig_a80_xx02.mk等..

注意:下面a80_xx02-jisanlianlong的所有衍生项目的REVO_PRODUCT_NAME值都是也必须是a80_xx02-jisanlianlong。

           env_a80_xx02-jisanlianlong.ini定义为:

           [a80_xx02-jisanlianlong]
           REVO_PRODUCT_NAME="a80_xx02-jisanlianlong"
           [a80_xx02-jisanlianlong-uerdebug]
           [a80_xx02-jisanlianlong-a45s]
           [a80_xx02-jisanlianlong-a45s-uerdebug]
CUSTOM_SP:默认设为BASE,这个变量主要用于二进制文件的拷贝,驱动文件的选择等。
 DRIVER_SP:默认设为BASE,这个变量驱动文件的选择。


PRJPreConfig_a80_xx02.mk

            LOCAL_PATH := zrevo/$(HUAWEI_PRODUCT_NAME)

            ifneq ($(CUSTOM_SP),BASE)
                  PRODUCT_PACKAGE_OVERLAYS += zrevo/$(HUAWEI_PRODUCT_NAME)/overlay/$(CUSTOM_SP)
            endif
            PRODUCT_PACKAGE_OVERLAYS += zrevo/$(HUAWEI_PRODUCT_NAME)/overlay/BASE

            $(call inherit-product, zrevo/common/PRJPreConfig_common.mk)

该文件主要的设计用途是用于android overlay机制资源的覆盖,也可以覆盖原有编译系统中针对客户不同配置的部分逻辑信息的覆盖,解决客制化问题。


features目录:

---default目录

   ---env.ini

   ---features.mk

该目录的引入是为了方便各种通用性的定制话需求,比如新UI的属性定制、客户公共需求等。
env.ini中定义通用的feature相关的环境变量,可以作为features.mk中值得补充。features.mk中定义的feature会被
脚本转换为JAVA中可用FeatureOption常量供java中调用。

例如:env.ini中:

HUAWEI_B_LEFTKEY_START_UNLOCK=true
features.mk中:

PRJ_FEATURE_HUAWEI_B_LEFTKEY_START_UNLOCK = bool-HUAWEI_B_LEFTKEY_START_UNLOCK


public-binary目录:

这个目录里面的二进制资源和packages.xml文件都是服务以 customer_a80_xx02.cfg文件,前面已经讲过了。

---logo目录

   ---开机log资源源文件


---project目录

   ---media目录

      ---铃声资源、来电铃声,短信铃声,闹钟铃声,内置音乐....


---system目录:

   ---media

       ---开关机动画,开关机铃声

       ---当然还有其他的资源...


---packages.xml文件(这个很重要了)


2.平台项目中的zrevo目录下主要文件(我知道的而已):

envsetup.sh 这个研究不来,技术目前太差了,目前只知道这么个浅概念:

准备好编译环境后,编译Rom的第一步是 source build/envsetup.sh,该步骤把e\nvsetup.sh里的函数声明为当前会话终端可用的命令。

这些命令能让我们切换目录,提交代码,编译Rom更方便。
在envsetup.sh里将执行vendor和device目录及各自子目录下所有的vendorsetup.sh,这些vendorsetup.sh做的事情是调用add_lunch_combo

将它们各自的产品添加到 LUNCH_MENU_CHOICES 变量里。















版权声明:本文为博主原创文章,未经博主允许不得转载。

嵌入式软件的目录结构安排

arm m3的软件开发,用到协议栈,但不用到操作系统。其目录结构
  • design_logic
  • design_logic
  • 2014年08月28日 22:02
  • 640

Linux目录结构详细介绍

随着Linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些“不明不白”的目录了。如果想熟练使用Linux,让Linux听命于自己,就必须掌握这些目录...
  • fan0220
  • fan0220
  • 2016年11月08日 10:24
  • 2717

学习servlet——tomcat目录结构、网站虚拟目录

上节主要介绍了tomcat的安装与启动,这节将介绍tomcat的目录结构,以及关于虚拟目录的相关知识   1.tomcat目录结构   进入tomcat,会发现有以下目录结构: ...
  • u014200359
  • u014200359
  • 2014年04月02日 16:04
  • 1354

apache学习二目录结构

1、查看首页在那里 [root@python conf]# grep -i documentroot httpd.conf # DocumentRoot: The directory out of...
  • yujin2010good
  • yujin2010good
  • 2016年11月03日 23:55
  • 693

项目源代码目录结构建议【原创】

  项目源代码目录结构建议为便于源代码的管理,提高源代码模块合成时的效率,避免浪费不必要的时间,对项目目录结构作以下建议:   注:本建议适用于多个DLL项目的解决方案   整体结构  •解决方案整体...
  • waterpub
  • waterpub
  • 2004年11月11日 13:51
  • 2484

iOS目录结构简介

iOS系统结构iOS目录结构简介我们说iOS系统是由OSX系统演化,而OSX基于UNIX操作系统。Filesystem Hierachy Standard为类UNIX操作系统的文件目录结构制定了一套标...
  • qq_27816995
  • qq_27816995
  • 2016年08月31日 10:41
  • 839

一般Web典型的项目目录结构

转自:http://blog.sina.com.cn/s/blog_4758a28b0100l3lp.html WebRoot-        -common   (系统框架公用jsp 如fo...
  • chelen_jak
  • chelen_jak
  • 2015年04月24日 13:15
  • 8486

android操作系统详细目录结构

\system\app  这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。下...
  • LVXIANGAN
  • LVXIANGAN
  • 2016年06月13日 22:22
  • 5486

初学JavaWeb需要知道的目录结构与配置

初学JavaWeb需要知道的目录结构与配置JavaWeb目录结构 Java Resourcesrc:存放Java源代码的目录。 Libraries:存放的是Tomcat及JRE中的jar包。 buil...
  • qq_33689414
  • qq_33689414
  • 2017年02月22日 17:48
  • 3784

JavaWeb工程 目录结构

今天为此事纠结了一段时间。 以下是mavaen推荐的项目目录. ├── pom.xml └── src     ├── main     │   ├── java     │ ...
  • RobertTony_Java
  • RobertTony_Java
  • 2016年10月10日 13:17
  • 3843
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android_Zrevo目录结构
举报原因:
原因补充:

(最多只允许输入30个字)