当前位置: 首页 > news >正文

build文件夹下面的主要配置文件

四个文件(handheld_system.mkhandheld_product.mkhandheld_system_ext.mkhandheld_vendor.mk)均为 Android 手持设备(手机/平板)的核心编译配置文件,分别对应不同系统分区和功能维度。:

配置文件对应分区核心作用关键内容典型组件/配置示例
handheld_system.mksystem(系统分区)定义手持设备 system 分区的核心组件,确保系统基础功能(如交互、服务)正常运行。通过 PRODUCT_PACKAGES 声明必装应用、服务、工具和库;
通过 PRODUCT_COPY_FILES 拷贝系统配置文件。
- 应用:SettingsSystemUICamera
- 服务:BluetoothTelecom(通信)、cameraserver
- 工具:screenrecord(录屏)
- 配置:audio_effects.conf(音频效果)
handheld_product.mk无特定分区(产品定义)定义手持设备的产品属性和功能范围,是构建系统的“总开关”。通过 inherit-product 继承基础配置(如 handheld_system.mk);
通过 PRODUCT_FEATURES 声明设备支持的功能(如 camerawifi)。
- 特性:bluetoothtelephony(电话功能)、sensor(传感器)
- 设备类型:PRODUCT_CHARACTERISTICS := default(默认手持设备)
handheld_system_ext.mksystem_ext(系统扩展分区)定义厂商定制的系统扩展组件,用于增强原生系统功能(不影响核心逻辑)。通过 PRODUCT_PACKAGES 声明厂商扩展服务、库和工具。- 扩展服务:SystemExtService(厂商系统服务)
- 定制库:libsystem_ext_utils(扩展工具库)
- UI 扩展:CustomSystemUIExtensions(状态栏定制)
handheld_vendor.mkvendor(厂商分区)定义硬件相关的驱动和配置,确保设备硬件(如相机、屏幕)正常工作。通过 PRODUCT_PACKAGES 声明硬件驱动(HAL)、厂商私有服务;
通过 PRODUCT_VENDOR_PROPERTIES 配置硬件参数。
- 驱动:vendor.camera.hal(相机HAL)、libvendor_display(显示驱动)
- 硬件参数:ro.vendor.camera.model(相机型号)、ro.vendor.display.resolution(屏幕分辨率)

核心关系

  1. 依赖链handheld_product.mk 继承 handheld_system.mkhandheld_system_ext.mk 等,组合成完整的产品配置。
  2. 分区协作system 分区提供原生核心功能,system_ext 提供厂商扩展,vendor 分区提供硬件驱动,共同构成可运行的手持设备系统。
  3. 裁剪场景
    • 移除相机功能:需修改 handheld_system.mk(删除相机应用/服务)和 handheld_vendor.mk(删除相机驱动)。
    • 禁用电话功能:需修改 handheld_product.mk(移除 telephony 特性)和 handheld_system.mk(删除 Telecom 等组件)。
http://www.lryc.cn/news/607762.html

相关文章:

  • Day 29: 复习
  • 设计模式篇:在前端,我们如何“重构”观察者、策略和装饰器模式
  • (LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
  • PyTorch 中 Tensor 统计学函数及相关概念
  • linux编译基础知识-库文件标准路径
  • 3D,对比2D孰优孰劣?
  • SEA-RAFT:更简单、更高效、更准确的RAFT架构
  • 重生之我在暑假学习微服务第八天《OpenFeign篇》
  • 【C语言】内存函数与数据在内存中的存储
  • 推荐系统学习笔记(六)自监督学习
  • Kubernetes 构建高可用、高性能 Redis 集群实战指南
  • Ubuntu系统VScode实现opencv(c++)视频及摄像头使用
  • ffmpeg命令和ffplay命令详解
  • 垃圾收集器ParNewCMS与底层三色标记算法详解
  • 【云计算】云主机的亲和性策略(四):云主机组
  • VAST视频广告技术实现:从零开始搭建视频广告投放系统
  • 【20min 急速入门】使用Demucs进行音轨分离
  • 【云计算】云主机的亲和性策略(三):云主机 宿主机
  • 【Android】RecyclerView实现新闻列表布局(1)适配器使用相关问题
  • MySQL 运算符
  • 【Android】使用 Intent 传递对象的两种序列化方式
  • 【Android】进度条ProgressBar 可拖拽进度条Seekbar
  • Javaweb————Apache Tomcat服务器介绍及Windows,Linux,MAC三种系统搭建Apache Tomcat
  • Vue 详情模块 4
  • 分布式微服务--Nacos作为配置中心(二)
  • Text2SQL:如何通过自然语言直接获取数据,打破技术壁垒?
  • opencv自定义滤波
  • 入门MicroPython+ESP32:开启科技新旅程
  • 云原生三剑客:Kubernetes + Docker + Spring Cloud 实战指南与深度整合
  • Diffusion模型生产化指南:用LoRA技术快速定制企业专属AI画师