【Android原生系统应用切换语言资源问题】

系统应用切换语言资源问题

这几天遇到了切换语言后,原生应用不跟随系统语言切换对应资源的问题,困扰了很多天,也搜了很多帖子,直到今天才找到原因和解决办法。

问题排查

1.确认是否存在该语言资源;
2.确认locale是否能拿到当前系统的资源;
3.查看bp文件是否是二次修改过,比如resource_dirs是否被更改了;

上述项都确认没问题的情况下,查看系统的languages_default.mk文件是否已经包含当前所需资源。

/build/make/target/product/languages_default.mk

如果该mk文件确实也包含了所需资源,那么可以反编译语言切换失败的原生应用,查看resources包内是否存在该资源(目前我遇到的情况是不存在该资源)。

解决办法

找到系统目录下/device/厂商/平台/device.mk 文件(注:不一定是decice命名,具体可参考全编后的out/target/product/目录下生成的文件夹名字来确定该mk文件名称,这里以device.mk为例)。
打开device.mk文件,添加如下内容:

#配置中文资源
PRODUCT_LOCALES := en_US zh_CN (对应的资源缩写)

然后执行整编命令,整编结束后直接push对应的原生apk验证,即可。也可以反编译编译出来的apk查看resources资源。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值