vendor的英文单词有“提供商”的意思,在Google的Android原始代码里vendor目录包含了CPU硬件提供商的一些信息。

Android系统作为开放的手持设备操作系统,在发布之初必须要提供配置接口给CPU提供商,这样Android的系统才能在不同的CPU上运行。
实际上vendor目录就是Android系统预留给我们加入定制化信息的目录。在这个目录中可以完成对系统默认应用程序的添加移除、及其背光,GPS和OpenGL硬件适应层的vendor库文件或者代码。

加入自己的vendor目录

参考sample和htc dream建立rickleaf作为一个新的cpu厂商,在rickleaf建立一个heaven的目录作为厂商的一个特别设备


Android 的 编译 系统

在Android的platform代码中,如果你的代码需要编译或者 一些二进制文件和库需要复制到目标板,就必须有个Android.mk文件来管理。
Vendor里面的Android.mk文件主要负责编译CPU厂商的特定代码和复制文件到目标板,
一般 项目中的Android.mk文件内容如下:


BoardConfig.mk

这个文件负责对Android系统的一些配置,包括如下等
ARM CPU的版本
Audio的架构类型
GPS的适应层名字
是否vendor有自己的init.rc文件
Android的image类型(inand需要yaffs2的image,mmc需要ext3或者ext4(android2.3)的image
如果在platform中加入了自己的模块,也可以加入配置机制,并且在这个文件中决定是否加入到系统中来


AndroidProducts.mk


这个文件为 PRODUCT_MAKEFILES 指定一个mk文件
在指定的mk文件中完成对Android系统中APP层面的一些配置,下面简单列举:
添加默认的Android应用程序
采用哪种dpi
采用哪种图资
为Android添加vendor的信息
加入默认铃声


PRODUCT_PROPERTY_OVERRIDES
修改一些默认的property设置,关于什么是property请大家去浏览google的文档,可以粗略的理解为类似注册表的东西驻留在内存中,可以供应用程序读写

PRODUCT_PACKAGES
PRODUCT_COPY_FILES
Android通过以上两个变量来对android packages和一些系统文件进行添加和移除

PRODUCT_LOCALES
这个变有两个作用:一个是加入系统支持的语言类型;另一个是决定默认用哪一种图资,比如ldpi,mdpi还是hdpi

PRODUCT_BRAND
厂商名字
PRODUCT_NAME
产品名字
PRODUCT_DEVICE
设备名字



更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  7. Android本地文件管理器思路解析一一增删改查具体实现
  8. Android(安卓)最简单的导航栏实现
  9. Android(安卓)Build系统分析 一

随机推荐

  1. 小诺奖得主3年后又成美国艺术与科学院士,
  2. 深度学习技术在美图个性化推荐的应用实践
  3. Django链接mysql数据库
  4. Linux之常用基础命令简介
  5. 0319作业-常用html元素(上)
  6. CSS:flex布局理解及实例演示flex容器中的
  7. 0319作业-常用html元素(下)
  8. ESXi主机网卡识别为10Mb导致业务缓慢
  9. ModuleNotFoundError: No module named '
  10. 2021-03-29:无序数组arr,子数组-1和1的数量