应用程序捆绑包默认语言不是系统语言

时间:2020-08-11 03:39:44

标签: android

我的项目是支持应用程序内语言切换的应用程序。我打包的应用程序捆绑包可以直接通过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
        }
    }
}

1 个答案:

答案 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"
}
相关问题