语言更改在上传到 Google Play 商店之前有效,但在上传到 Play 商店后无效。为啥?

Posted

技术标签:

【中文标题】语言更改在上传到 Google Play 商店之前有效,但在上传到 Play 商店后无效。为啥?【英文标题】:Language change is working before uploading to Google Play Store but not after uploading to play store . Why?语言更改在上传到 Google Play 商店之前有效,但在上传到 Play 商店后无效。为什么? 【发布时间】:2019-07-17 07:42:47 【问题描述】: 在我的应用程序中有两种语言。 如果我从默认语言为英语的设备下载应用程序。那么它不会更改为中文 strings.xml (zh)。 如果我将设备语言更改为中文并下载应用程序,那么它可以正常工作并更改为两种语言。可能是因为我们的默认 strings.xml 文件中有英文。

可能是因为 google play store 不允许用户下载它认为用户不需要的资源文件。

谁能帮助我?谢谢。

【问题讨论】:

【参考方案1】:

问题是您正在使用 .aab 文件在 play store 上发布应用程序。它会在安装时根据用户的手机设置删除本地化文件。

要解决此问题,您需要将此行放入您的 build.gradle 文件并尝试再次上传

android 

  //... removed for brevity
  bundle 

     language 
       enableSplit = false
     
   

Link to refer

【讨论】:

点赞!!一个简单的问题,那么 .aab 的大小呢? 对DW影响不大。 我认为问题是由于我们混淆了我们的应用程序,多亏了你我终于可以纠正这个问题了。 很高兴能提供帮助:) 不适合我,您能解释一下为什么上传后会删除语言文件吗?【参考方案2】:

正如@Vrushi Patel 所说,这与 Android App Bundles 有关。要解决此问题,您必须编辑基本模块的 build.gradle 中的 android.bundle 块,如下所示,如 official documentation 中所述:

android 
// When building Android App Bundles, the splits block is ignored.
splits ...

// Instead, use the bundle block to control which types of configuration APKs
// you want your app bundle to support.
bundle 
    language 
        // Specifies that the app bundle should not support
        // configuration APKs for language resources. These
        // resources are instead packaged with each base and
        // dynamic feature APK.
        enableSplit = false
    
    density 
        // This property is set to true by default.
        enableSplit = true
    
    abi 
        // This property is set to true by default.
        enableSplit = true
    


【讨论】:

以上是关于语言更改在上传到 Google Play 商店之前有效,但在上传到 Play 商店后无效。为啥?的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 商店发布问题 [关闭]

修改google play商店列表[关闭]

应用在 Play 商店发布后,Google plus 登录和 Google 地图无法使用

应用程序截图上传到 Google Play 商店后变得模糊

将应用程序上传到 Google Play 商店时无法理解错误

我要如何更改已发布到 Google Play 商店的 Android 应用的 ApplicationId