【问题标题】:Google Play Console: Package name of your Instant App APKs should be the same as your app's package nameGoogle Play Console:Instant App APK 的包名称应与应用的包名称相同
【发布时间】: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

【问题讨论】:

    标签: android android-instant-apps google-play-console


    【解决方案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 默认回到定义的那个 基本功能模块清单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 2014-08-25
      • 1970-01-01
      • 2015-02-18
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      相关资源
      最近更新 更多