我的项目是支持应用程序内语言切换的应用程序。我打包的应用程序捆绑包可以直接通过bundletool工具安装,以正确显示系统设置的语言,直接安装的apk也可以正确显示系统设置的语言,但是当我从Google下载时,play会下载我的应用程序(由Google Play上传的应用捆绑包),我的应用不会显示系统设置的语言,而是显示与我所在国家/地区对应的语言。正常安装后,所有安装方法都可以在应用中切换语言,该如何解决。
我的gradle配置:
android {
defaultConfig {
...
multiDexEnabled true
...
ndk {
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
resConfigs "en-rUS", "zh-rCN", "zh-rTW"
}
bundle{
language{
enableSplit false
}
}
}
答案 0 :(得分:0)
此问题已解决。原因是在AndroidMainfest文件的Application属性中将allowBackup属性配置为true。将其更改为false。如果为true,则Google服务将备份应用程序配置文件,但我不知道要备份哪些文件以及如何完成备份。此外,根据我在使用多种语言的过程中遇到的问题,给出了一些在应用程序中切换多种语言的技巧。
提示1:对于androidx.appcompat.appcompat依赖项,最好使用1.0.2版,其他版本会导致某些手机在应用程序内切换多种语言
提示2:捆绑{ 语言{ enableSplit false } } 如果您需要在应用程序中切换多种语言,建议仅对于捆绑包将此属性更改为false。
提示3:记得进行配置 resConfigs“ ms-rMY”,“ zh-rCN”,“ zh-rTW” 否则,打包时可能不会将多语言资源打包到apk中
最后,我的build.gradle配置文件
android{
defaultConfig{
bundle{
language{
enableSplit false
}
}
resConfigs "ms-rMY", "zh-rCN", "zh-rTW"
}
}
dependencies{
implementation group: 'androidx.appcompat', name: 'appcompat', version: "1.0.2"
}