android-759b1c是什么,android設置系統默認語言

一、先搞清4個系統屬性

只讀默認語言

[ro.product.locale.language]:[en]

[ro.product.locale.region]: [US]

用戶改變語言設置后修改的值

[persist.sys.language]: [zh]

[persist.sys.country]: [CN]

這兩個會以文件的形式存在於文件系統的/data/property目錄下(其實每個新設置的屬性都會以屬性名為文件名,以屬性值為內容存在這個目錄下),如果同名的屬性即存在於/system/build.prop中,又存在於/data/property下,那末根據屬性的讀取順序

同名覆蓋的原則,最終的value是在/data/property中的。

可以在手機上改變語言設置后,用adb shell getprop命令查看系統屬性,每次改變語言設置

persist.sys.language和 persist.sys.country都會相應改為所設置的語言,而

ro.product.locale.language和ro.product.locale.region是無法改變的。

二、我的修改方法

我設置成功是在device/qcom/msm7627_qrd/system.prop中加入:

persist.sys.timezone=Asia/Shanghai

persist.sys.language=zh

persist.sys.country=CN

重新開關機,恢復出廠設置均是正確的。

system.prop的內容在編譯過程中會拷貝到system.img 的/system/build.prop中(至於system.prop是如何拷貝進去的,就不清楚了,只看到google建議

vendor在product下用這個文件來設置自己需要的system property),同時會寫入到out/target/product/msm7627_qrd/recovery/root/default.prop中,所以恢復出廠設置才成功。

三、關於時區

時區在Android中是通過Bionic C Library來管理的,具體可見

Timezone management:

The name of the current timezone is taken from the TZ environment variable, if defined. Otherwise, the system property named 'persist.sys.timezone' is checked instead. The zoneinfo timezone database and index files are located under directory /system/usr/share/zoneinfo, instead of the more Posix-compliant path of /usr/share/zoneinfo.

1.在system/core/rootdir/etc/init.qcom.rc中加入

setprop persist.sys.timezone  Asia/Shanghai

結果:雖然開機可以在/data/property下生成了persist.sys.timezone文件,但是每次開機都會重寫該文件,使timezone恢復回去。

2.在device/qcom/msm7627_qrd/msm7627_qrd.mk中加入

ADDITIONAL_BUILD_PROPERTIES += persist.sys.timezone=Asia/Shanghai

結果:也可以在/data/property下生成persist.sys.timezone文件,設置改變后,重新開機也不會被覆蓋掉,但是一旦恢復出廠設置,timezone就成了默認的格林尼治時區>_

ADDITIONAL_BUILD_PROPERTIES:指定(增加)額外的屬性文件;

四、小結

一般設置屬性的終極目標是要編譯后出現在system/build.prop中,如果編譯后在此文件中有你需要的屬性,應該就是OK的。此文件的來源暫時只看到兩部分,一是buildinfo.sh,另一個就是system.prop了,至於system/build.prop的解析源碼就是在system/core/init/property_service.c了。

五、其他參考

不過此文中將屬性加入到這個變量中PRODUCT_PROPERTY_OVERRIDES := /

persist.sys.language=zh /

persist.sys.country=CN ,沒有試過是否OK!

六、補充

device/qcom/msm7627_qrd/system.prop中類似的修改還有

#added  :set default ring

ro.config.ringtone=Noises1.ogg

ro.config.notification_sound=Tinkerbell.ogg

#added by yue  :LCD is 480x800 ,這樣設置后圖標才會正常顯示否則會非常小

ro.sf.lcd_density=240

full_base.mk

languages_full.mk

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值