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 的包名称应该与您的应用的包名称相同。
我有一个功能调用 base,apk 和 instantApp 功能也有,每个人都有自己的 gradle 文件和 apk 和 instantApp 实现基本功能:
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?
"message": "用于调用 Google Play Developer API 的项目 ID 尚未在 Google Play Developer Console 中