Android 构建配置中的变量(通常在设备制造商或定制 ROM 的 AndroidProducts.mk 或产品配置文件中定义)

以下是 Android 构建系统中常见的用于产品配置、资源复制和构建规则的变量


1. PRODUCT_COPY_FILES

  • 作用:指定需要从源码树复制到镜像的文件。
  • 示例
    PRODUCT_COPY_FILES += \device/manufacturer/device_name/file.conf:$(TARGET_COPY_OUT_VENDOR)/etc/file.conf
    

2. PRODUCT_PACKAGES

  • 作用:定义需要打包进系统镜像的应用程序或模块(如 APK、可执行文件、库等)。
  • 示例
    PRODUCT_PACKAGES += \Camera2 \Contacts \libexample
    

3. PRODUCT_PROPERTY_OVERRIDES

  • 作用:覆盖系统属性值,通常用于设置设备特定的系统行为。
  • 示例
    PRODUCT_PROPERTY_OVERRIDES += \ro.product.model=MyDevice \dalvik.vm.heapsize=256m
    

4. PRODUCT_DEFAULT_PROPERTY_OVERRIDES

  • 作用:设置默认的系统属性,优先级低于 PRODUCT_PROPERTY_OVERRIDES
  • 示例
    PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ro.adb.secure=1
    

5. PRODUCT_TAGS

  • 作用:为产品添加标签,用于控制某些功能是否启用。
  • 示例
    PRODUCT_TAGS += dalvik.gc.type-precise
    

6. PRODUCT_LOCALES

  • 作用:定义支持的语言和地区设置。
  • 示例
    PRODUCT_LOCALES := en_US zh_CN
    

7. PRODUCT_AAPT_CONFIG

  • 作用:指定 AAPT 工具在打包资源时使用的资源配置。
  • 示例
    PRODUCT_AAPT_CONFIG := normal large xlarge
    

8. PRODUCT_AAPT_PREF_CONFIG

  • 作用:指定首选的资源配置(如屏幕密度)。
  • 示例
    PRODUCT_AAPT_PREF_CONFIG := xxhdpi
    

9. PRODUCT_BOOT_JARS

  • 作用:定义在启动过程中加载的 Java 库(JAR 文件)。
  • 示例
    PRODUCT_BOOT_JARS += \framework \ext
    

10. PRODUCT_SYSTEM_SERVER_JARS

  • 作用:定义系统服务所需的 JAR 文件。
  • 示例
    PRODUCT_SYSTEM_SERVER_JARS += services
    

11. PRODUCT_USES_LIBCXX

  • 作用:指定是否使用 libc++ 而不是 libstdc++。
  • 示例
    PRODUCT_USES_LIBCXX := true
    

12. PRODUCT_CHARACTERISTICS

  • 作用:定义设备的特性(如手机、平板、电视等)。
  • 示例
    PRODUCT_CHARACTERISTICS := phone
    

13. PRODUCT_COPY_FILES_SKIP_STRIP

  • 作用:指定不需要 strip 的文件列表。
  • 示例
    PRODUCT_COPY_FILES_SKIP_STRIP += \system/bin/example_binary
    

14. PRODUCT_EXTRA_RECOVERY_KEYS

  • 作用:为 Recovery 添加额外的信任密钥。
  • 示例
    PRODUCT_EXTRA_RECOVERY_KEYS += \key1 \key2
    

15. PRODUCT_GMS_CLIENTID_BASE

  • 作用:定义 GMS 客户端 ID 的基础字符串。
  • 示例
    PRODUCT_GMS_CLIENTID_BASE := android-google
    

16. PRODUCT_MANUFACTURER

  • 作用:定义设备制造商名称。
  • 示例
    PRODUCT_MANUFACTURER := MyCompany
    

17. PRODUCT_MODEL

  • 作用:定义设备型号名称。
  • 示例
    PRODUCT_MODEL := MyDeviceModel
    

18. PRODUCT_NAME

  • 作用:定义产品的名称。
  • 示例
    PRODUCT_NAME := my_product
    

19. PRODUCT_DEVICE

  • 作用:定义设备的硬件名称。
  • 示例
    PRODUCT_DEVICE := my_device
    

20. PRODUCT_BRAND

  • 作用:定义设备的品牌名称。
  • 示例
    PRODUCT_BRAND := MyBrand
    

这些变量共同构成了 Android 构建系统中的产品配置体系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/84496.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/84496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火山引擎项亮:机器学习与智能推荐平台多云部署解决方案正式发布

资料来源:火山引擎-开发者社区 2022年7月20日,火山引擎2022 Force原动力大会在北京诺金酒店成功举办。在上午的议程中,《推荐系统实践》一书的作者、同时也是火山引擎机器学习系统负责人——项亮,展开了题目为《开放AI基建&#x…

NVR的方法多种取决于应用场景

摄像头接入NVR(网络视频录像机)的方法通常取决于具体的应用场景和设备支持的功能。 一、通过局域网接入 设备连接 : 将摄像机通过网络线缆连接到NVR的对应端口,或者将摄像机和NVR都连接到同一个路由器/交换机上,确保它…

JAVA从入门到精通一文搞定

博主介绍: 大家好,我是想成为Super的Yuperman,互联网宇宙厂经验,17年医疗健康行业的码拉松奔跑者,曾担任技术专家、架构师、研发总监负责和主导多个应用架构。 近期专注: DeepSeek应用,RPA应用研…

火山引擎发布大模型生态广场MCP Servers,LAS MCP助力AI数据湖构建

资料来源:火山引擎-开发者社区 近日,火山引擎发布大模型生态广场—— MCP Servers,借助字节跳动生态能力,通过“MCP Market(工具广场) 火山方舟(大模型服务)Trae(应用开…

NodeJS 对接 Outlook 发信服务器实现发信功能

示例代码: const express require(express); const nodemailer require(nodemailer); const querystring require(querystring); const axios require(axios);const app express(); app.use(express.json());const transporter nodemailer.createTransport({…

【同声传译】RealtimeSTT:超低延迟语音转文字,支持唤醒词与中译英

把你说的话实时变成文字:RealtimeSTT 上手体验 想找一个真正好用的语音转文字工具吗?不用等说完一整段才出结果,也不用反复点击按钮。RealtimeSTT 这个开源项目能做到​​实时​​转录,你说一句,屏幕上几乎同时出现文…

【大模型lora微调】关于推理时如何使用 LoRA Adapter

假设你有两部分: 一个是原始大模型(base model) 一个是保存的 LoRA Adapter(adapter_config.json adapter_model.bin) 不合并的情况下推理方法 你可以用 peft 的方式加载 LoRA Adapter,推理时这样写&a…

谷歌时间序列算法:零样本预测如何重塑行业决策?

谷歌时间序列算法:零样本预测如何重塑行业决策? TimesFM 你是否曾面临这样的困境?—— ▸ 需要预测新产品销量,却苦于缺乏历史数据; ▸ 依赖传统模型(如ARIMA),但调参耗时且泛化能力…

国产服务器【银河麒麟v10】【CPU鲲鹏920】部署Minio文件服务器

目录 准备工作操作步骤1. 确认挂载点状态2. 创建专用用户和目录3. 下载ARM版Minio到挂在盘4. 环境变量配置5. 更新Systemd服务配置6. 启动、重启7. 防火墙8. 访问验证9. 故障排查(如服务未启动)​ 结束 准备工作 环境要求:Linux虚拟机 操作…

解决: React Native android webview 空白页

Android react-native-webview 之前是正常的, 升级了 react-native / react-native-webview 等 之后, 就变成了空白页. 通过下面的修改, 可以修复, 回到正常的状态. 来源: https://github.com/react-native-webview/react-native-webview/issues/3697 注意 ts 文件一定要改,…

高中编程教学中教师专业发展的困境与突破:基于实践与理论的双重审视

一、引言 1.1 研究背景 在数字化时代,编程已成为一项基本技能,其重要性日益凸显。编程不仅是计算机科学领域的核心能力,更是培养学生逻辑思维、创新能力和问题解决能力的有效途径。高中阶段作为学生成长和发展的关键时期,开展编…

最小化联邦平均(FedAvg)的算法开销

一、通信开销最小化 FedAvg中服务器与客户端间的频繁参数传输是主要瓶颈,可通过以下方法优化: 1. 模型压缩技术 稀疏化:仅上传重要参数更新(如Top-k梯度) 实现:客户端本地训练后,保留绝对值最…

准备开始适配高德Flutter的鸿蒙版了

我们的Flutter项目在编译为鸿蒙的过程中, 遇到了各种插件不支持的问题。 大部分都能解决,或者用别的方式代替。 这个高德我真的是无语, 我们只能用高德 , 目前还没看到网上有人适配了鸿蒙。 那就我来干吧, 第一…

webpack到vite的改造之路

前言 随着前端项目的持续迭代与功能扩展,当前基于 Webpack 构建的项目在启动速度、构建速度和首屏加载性能方面逐渐暴露出一些瓶颈。 一方面,Webpack 的打包机制导致本地开发环境的启动时间显著增加,严重影响了开发效率;另一方面…

【重构】如果发现提取的方法不再通用,如何重构

前言 所谓重构(refactoring): 在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。 – Martin Fowler背景 最近在做需求,需要对方法加权限控制,发现旧方法不再适用&#xff0…

REST接口/RPC

REST接口(RESTful API)是一种基于HTTP协议的API设计风格,遵循REST(Representational State Transfer表述性状态转移)架构原则,用于在不同系统之间进行数据交互。它具有简洁、灵活、无状态等特点,广泛应用于Web服务和移动应用开发中。 核心概念 资源导向 将数据或服务抽…

JS入门——事件与事件绑定

JS入门——事件与事件绑定 一、事件的分类 二、事件的绑定方式 实现代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>JS事件绑定</title></head><body><!-- 修复后的按钮1 -->&…

pyspark 处理字符串函数

pyspark 要处理数据&#xff0c;没有&#xff0c;那就伪造数据 faker 真是个好东西 from faker import Faker import pandas as pd gender ["None","Man","Woman"]fake Faker() names [(fake.first_name(),fake.last_name(),fake.date_of_bi…

五大经典语音芯片型号及应用场景

在语音芯片领域&#xff0c;这五大语音芯片凭借丰富多样的产品和卓越的性能&#xff0c;占据了重要地位。以下为您详细介绍其五款经典语音芯片型号及其对应的应用场景。​ WTN6170-8S​ WTN6170-8S 属于 OTP 一次性语音芯片。它采用 OTP 工艺&#xff0c;成本能够控制在 1 元以…

机器学习管道:构建高效可靠的AI工作流

在当今数据驱动的世界中&#xff0c;机器学习(ML)已成为推动创新和决策的核心技术。然而&#xff0c;将ML模型从实验环境成功部署到生产环境并非易事。机器学习管道(ML Pipelines)作为一种系统化的解决方案&#xff0c;通过自动化工作流程&#xff0c;显著提高了ML项目的可重复…