应用程序bundle的默认语言不是系统语言



我的项目是一个支持应用程序内语言切换的应用程序。我打包的应用程序捆绑包可以直接通过bundletool工具安装,以正确显示系统设置的语言,直接安装的apk也可以正确显示系统设定的语言,但当我从谷歌下载时,当play下载我的应用程序(谷歌play上传的应用程序包(时,而是与我的国家相对应的语言。所有的安装方法都可以在应用程序中正常安装Switch语言后,我应该如何解决这个问题

我的渐变配置:

android {
defaultConfig {
...
multiDexEnabled true
...
ndk {
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
resConfigs "en-rUS", "zh-rCN", "zh-rTW"
}
bundle{
language{
enableSplit false
}
}
}

这个问题已经解决了。原因是在AndroidMainfest文件的Application属性中将allowBackup属性配置为true。将其更改为false。在真的情况下,谷歌服务会备份应用程序配置文件,但我不知道具体要备份什么文件以及如何备份。此外,根据我在使用多种语言的过程中遇到的问题,给出了一些在应用程序中在多种语言之间切换的技巧。

提示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"
}

最新更新