Google Play Console:Instant App APK 的包名称应与应用的包名称相同

Posted

技术标签:

【中文标题】Google Play Console:Instant App APK 的包名称应与应用的包名称相同【英文标题】:Google Play Console: Package name of your Instant App APKs should be the same as your app's package name 【发布时间】:2018-05-12 10:31:41 【问题描述】:

我正在尝试将我的 Instant App 上传到使用 Google Play 控制台开发,但它返回错误:您的 Instant App APK 的包名称应该与您的应用的包名称相同。

我有一个功能调用 baseapkinstantApp 功能也有,每个人都有自己的 gradle 文件和 apkinstantApp 实现基本功能:

dependencies implementation project(':base')

我尝试通过 Build/Generate 签名的 APK 发布 .apk 构建...使用与可安装应用程序相同的密钥,它会创建一个压缩在 zip 上的 .apk 文件

我不知道是什么导致 InstantApp 和 apk 模块使用相同的基本功能,我不知道如何构建 Instant App APK

【问题讨论】:

【参考方案1】:

那个 zip 文件就是即时应用程序。它可以包含多个 APK,一个用于每个功能模块,一个用于基本模块,还可能包含一些配置 APK。如果它只包含一个 APK 也没关系。这将是基础。

压缩包中的每个 APK 都有一个 androidManifest.xml,您可以使用 APK Analyzer 轻松查看。它们每个都应该有一个 packageName,并且它们都应该匹配,并且该值是免安装应用的包名称。

已安装应用的包名在通常的位置,在该 APK 的 AndroidManifest.xml 中。

samples 展示了构建项目的推荐方法,这将生成具有相同包名的即时应用和已安装应用。

【讨论】:

谢谢老兄!那是我的问题,我的包名中有一个额外的“.app”【参考方案2】:

检查你的基础模块是否引用了应用模块:

喜欢:

dependencies 
    application project(":installed")
    feature project(':app')
    feature project(":lite")

如docs中所述:

通过设置此依赖项,应用程序的每个风味的 applicationId 是 应用于基本功能模块,然后传播到所有 项目中的功能。该表达式确保 可安装 APK 和免安装应用 APK 具有相同的 applicationId。如果 这没有设置,applicationId 默认回到定义的那个 基本功能模块清单。

【讨论】:

以上是关于Google Play Console:Instant App APK 的包名称应与应用的包名称相同的主要内容,如果未能解决你的问题,请参考以下文章

错误:用于调用 Google Play Developer API 的项目 ID 尚未在 Google Play Developer Console 中链接

如何删除创建 google-play-console 帐户的原始用户

如何在新的 Google Play Console 中管理 Instant App?

Google Play Console 自动添加权限

"message": "用于调用 Google Play Developer API 的项目 ID 尚未在 Google Play Developer Console 中

在Google Play Console中混淆“上传失败”消息