Android 默认设置设备为“平板电脑”(tablet)

前言

有这样的需求,设置里“关于手机“,需要修改为“关于平板电脑”。

查看字符文件发现已经有相关字符,可以使用product属性来决定显示的文字。

->string.xml

<string name="about_settings" product="tablet" msgid="2888705054709289693">"关于平板电脑"</string> <string name="about_settings" product="default" msgid="4038626127378127613">"关于手机"</string>

<string name="about_settings" product="device" msgid="9012888717090302815">"关于设备"</string>

先说配置方法:

在device目录下相关产品的mk文件配置,就可以实现默认设备为“平板电脑”:

PRODUCT_CHARACTERISTICS = tablet

1.PRODUCT_CHARACTERISTICS = tablet 配置的作用

build/make/core/product_config.mk

ifndef PRODUCT_CHARACTERISTICS

  TARGET_AAPT_CHARACTERISTICS := default

else

  TARGET_AAPT_CHARACTERISTICS := $(PRODUCT_CHARACTERISTICS)

endif

build/make/make/core/main.mk

ADDITIONAL_PRODUCT_PROPERTIES += ro.build.characteristics=$(TARGET_AAPT_CHARACTERISTICS)

build/make/core/product.mk

_product_single_value_vars += PRODUCT_CHARACTERISTICS

从上面可以看出生成了ro.build.characteristics系统属性和为_product_single_value_vars提供了变量,但该属性在代码中全局搜索找不到有意义的使用地方。

2.product属性生效时机

由于ro.build.characteristics在framework层未被使用,所以猜测product属性是在编译阶段进行处理的。直接反编译验证,使用GDA工具Settings.apk查看res/values-zh-rCN/strings.xml,发现只会存在一个about_settings 字符串,并且无product属性,可以证明这个属性是在编译时处理的。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值