日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android属性之build.prop生成过程分析

發布時間:2025/4/5 Android 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android属性之build.prop生成过程分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文簡要分析一下build.prop是如何生成的。Android的build.prop文件是在Android編譯時刻收集的各種property(LCD density/語言/編譯時間, etc.),編譯完成之后,文件生成在out/target/product/<board>/system/目錄下。在Android運行時刻可以通過property_get()[c/c++域] / SystemProperties_get*()[Java域]讀取這些屬性值。

?

build.prop的生成是由make系統解析build/core/Makefile完成。

1)??????Makefile中首先定義各種變量,這在下一步執行時會用到。比如:

[plain] view plaincopyprint?
  • ...??
  • PRODUCT_DEFAULT_LANGUAGE="$(calldefault-locale-language,$(PRODUCT_LOCALES))"?\??
  • PRODUCT_DEFAULT_REGION="$(calldefault-locale-region,$(PRODUCT_LOCALES))"?\??
  • ...??
  • ... PRODUCT_DEFAULT_LANGUAGE="$(calldefault-locale-language,$(PRODUCT_LOCALES))" \ PRODUCT_DEFAULT_REGION="$(calldefault-locale-region,$(PRODUCT_LOCALES))" \ ...2)??????Makefile中調用build/tools/ buildinfo.sh執行腳本,并輸出到build.prop

    Buildinfo.sh很簡單,只是echo一些屬性,比如:

    [plain] view plaincopyprint?
  • ...??
  • echo"ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE"??
  • echo"ro.product.locale.region=$PRODUCT_DEFAULT_REGION"??
  • ...??
  • ... echo"ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE" echo"ro.product.locale.region=$PRODUCT_DEFAULT_REGION" ...而,ro.product.locale.language/ ro.product.locale.region就是些屬性,等號后面是值。

    3)??????Makefile中直接把$(TARGET_DEVICE_DIR)/system.prop的內容追加到build.prop中。

    4)??????收集ADDITIONAL_BUILD_PROPERTIES中的屬性,追加到build.prop中。

    ADDITIONAL_BUILD_PROPERTIES又會收集PRODUCT_PROPERTY_OVERRIDES中定義的屬性

    [plain] view plaincopyprint?
  • ADDITIONAL_BUILD_PROPERTIES:=?\??
  • ????????$(ADDITIONAL_BUILD_PROPERTIES)\??
  • ????????$(PRODUCT_PROPERTY_OVERRIDES)??
  • ADDITIONAL_BUILD_PROPERTIES:= \$(ADDITIONAL_BUILD_PROPERTIES)\$(PRODUCT_PROPERTY_OVERRIDES)?

    通過build.prop生成過程的分析,可知哪里可以修改原有的屬性或加入自己定義屬性,那就是2) buildinfo.sh; 3) system.prop; 4) ADDITIONAL_BUILD_PROPERTIES或PRODUCT_PROPERTY_OVERRIDES。不過個人建議改在system.prop或PRODUCT_PROPERTY_OVERRIDES,這對應于具體特定平臺或產品的修改。


    總結

    以上是生活随笔為你收集整理的Android属性之build.prop生成过程分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。