将免安装应用上传到 Google Play 管理中心失败并显示一般消息

Posted

技术标签:

【中文标题】将免安装应用上传到 Google Play 管理中心失败并显示一般消息【英文标题】:Uploading instant app to Google Play Console fails with generic message 【发布时间】:2017-12-30 16:45:28 【问题描述】:

我正在努力将重构的应用程序升级到 Google Play 控制台中的预发布渠道。当我尝试上传 zip 文件时,我收到错误“上传失败。我们无法保存您的更改。请重试。”我已经为此工作了很多天,感觉我已经没有办法尝试了。有没有其他人经历过这种与即时应用程序特别相关的情况?我的应用有 base_feature、main_feature 和 detail_feature。

我已完成以下工作:

build.gradle 文件的配置方式与 Google 的示例项目相同。 我正在尝试通过将每个功能模块的 minifyEnabled 设置为 true 来使用 proguard。我的 proguard 规则是为每个功能配置的,我在构建时没有警告或错误。 每个基础 + 功能 APK 小于 4MB。 我已尝试在隐身模式以及其他浏览器中上传,但均未成功。我可以上传我的常规 APK(也是经过保护的)就好了。 已安装的 APK 和免安装应用具有相同的版本代码/名称并具有相同的包。

我不知道是什么导致了这个错误。通常,控制台会输出上传失败的原因。完整上传的 APK 和免安装应用 APK 之间有什么特别需要匹配的吗?希望有一个我忽略的简单解决方案。任何帮助将不胜感激!

编辑

基地:

dependencies 
    api(...)
    api(...)
    api(...)
    api(...)

    feature project(':home')
    feature project(':detail')
    application project(':apk')

家:

dependencies 
    api project(':base')
    api(...)

详情:

dependencies 
    api project(':base')
    api(...)

即时应用:

dependencies 
    implementation project(':base')
    implementation project(':home')
    implementation project(':detail')

apk:

dependencies 
    implementation project(':base')
    implementation project(':home')
    implementation project(':detail')

【问题讨论】:

遇到同样的问题。 似乎是在开发频道中进行的,无论是否有保护。我有一个 APK 目前正在开发中,但现在我根本无法更新它。 目前,此消息的定义不明确。一个可能的问题与您的清单有关。您的清单中是否有任何引用资源的内容? (某些字段可能不允许)- 请显示您的所有清单? @TWL 我无法共享清单,但我已经检查了它们并确保删除了几乎所有内容,除了活动和应用链接 url 意图过滤器。没有任何效果。 尝试同时删除任何 字段的任何资源引用(包括应用链接的内容)。 【参考方案1】:

我能够通过将所有外部库引用(API/实现)移动到基本功能来解决我的问题。似乎每个功能都无法托管仅用于该特定功能的库。

希望这方面可以在控制台中有所改进,以更好地指示构建存在的问题,以及即时应用的构建方式,以更好地支持模块化并减小 APK 大小。

【讨论】:

当我尝试上传即时应用程序时,我收到相同的通用消息,说“上传失败我们无法保存您的更改。请再试一次。'我已将所有依赖项放在基本模块中,我需要在功能模块中拥有的唯一依赖项是用于依赖注入 annotationProcessor("com.google.dagger:dagger-compiler:$daggerVersion") 的 dagger-compiler 不要知道要做什么/改变才能将 Instant 应用上传到 Google Play

以上是关于将免安装应用上传到 Google Play 管理中心失败并显示一般消息的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 管理中心阻止上传或推广符合敏感权限政策的新应用版本

Google Play 管理中心中的托管发布

如何在 Google Play 管理中心上传特定城市的应用程序?

无法通过 fastlane 使用 Google Play 应用签名将 android 包上传到 Google Play

上传到 Play 商店时,Google 登录不适用于应用

有没有办法在不将应用上传到 Play 管理中心的情况下使用真实的 unitID 测试 adMob 广告?