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
英文地址,請注明出處:http://en.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項目的可重復…