【问题标题】:Android Instant-release build not includes base APKAndroid 即时发布版本不包括基础 APK
【发布时间】:2017-06-05 03:17:59
【问题描述】:

我们正准备通过“即时应用开发”渠道将即时应用 apk 发布到游戏商店以进行测试。 当我们签署即时应用程序(使用与已安装应用程序相同的密钥库)时,仅在 zip 文件夹(instant-release.zip)中获取一个功能模块 apk,这在上传到 Play 商店时通过抱怨“您的即时应用程序 APK 应至少包含一个基础 APK"

无论如何我们都能在即时调试版本下看到预期的结构

debug 和 release 版本的结构差异如下

即时调试.zip

  • hello-debug.apk
  • base-debug.apk
  • 再见-debug.apk

即时发布.zip

  • hello-release.apk

不确定我们是否在 gradle 配置上犯了任何错误。如果有人能就此提出建议,那将非常有帮助?

【问题讨论】:

  • 你可能需要发布你的 gradle 文件和你的构建命令来帮助解决这个问题。你是如何构建你的版本的?通过 Studio 菜单或命令行 assembleRelease?
  • 感谢@AdamK,我们尝试了google示例github.com/googlesamples/android-instant-apps/tree/master/…和与此相同的gradle结构。我们还通过 Android Studio 3.0 菜单签署了即时构建。
  • 使用 Android Studio 中的菜单进行签名存在一些已知问题。您可以尝试在 build.gradles 中设置signingConfigs,然后从命令行或Studio 中的gradle 菜单(右侧一个)运行assembleRelease。以下是有关设置签名配置的一些信息:developer.android.com/studio/publish/…
  • 你是对的@AdamK,我们能够使用signingConfigs 和assembleRelease 命令生成具有预期结构的instant-release.zip。似乎已安装的应用签名适用于 android studio 菜单,而即时应用签名不适用于该菜单。感谢您的帮助。
  • 很高兴它成功了。我只是将我的评论复制到下面的答案中,以防其他人遇到同样的问题。

标签: android android-instant-apps


【解决方案1】:

使用 Android Studio 3.0 预览版中的内置菜单对即时应用进行签名存在一些已知问题。如果您在 build.gradle 文件中设置了 signingConfigs,然后从命令行或 Studio 中的 gradle 菜单(右侧一个)运行 gradle assembleRelease,它应该可以工作。

应在每个功能模块中设置signingConfigs,以确保所有功能APKs都已签名。

这里有一些关于设置signingConfigs的信息:

https://developer.android.com/studio/publish/

【讨论】:

  • 这对我们有用,我们为所有功能和基本模块的 gradle 文件添加了签名配置。然后执行 assembleRelease gradle 命令,而不是 Android Studios 的默认签名选项。它创建了包含所有必需 apk 的 Instant-release.zip。
  • 免安装应用现在可以通过 Android Studio 中内置的 Generate Signed APK 成功签名。
【解决方案2】:

您必须单独签署所有模块,包括 baseFeature 模块。通过进入他们的 gradle 文件来签署所有这些。我遇到了同样的错误,然后我签署了所有模块,它对我有用。

【讨论】:

    猜你喜欢
    • 2013-07-12
    • 2021-05-16
    • 2016-12-09
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    相关资源
    最近更新 更多