我正在尝试上传以使用Google Play控制台开发我的即时应用,但它会返回错误:您的即时应用APK的包名应与您应用的包名相同。 < / p>
我有一个功能调用 base , apk 和 instantApp 功能,每个人都有自己的gradle文件和 apk 和 instantApp 实现了基本功能:
dependencies {
implementation project(':base')
}
我尝试使用可安装应用程序的相同密钥通过Build / Generate signed APK发布.apk构建,并在zip上创建压缩文件.apk
我不知道是什么原因导致instantApp和apk模块使用相同的基本功能,我没有找到我如何构建即时应用APK
答案 0 :(得分:2)
该zip文件是即时应用。它可以包含多个APK,每个功能模块一个,一个用于基础,还可能包含一些配置APK。如果它只包含一个APK,那就没问题了。那将是基础。
zip中的每个APK都有一个AndroidManifest.xml,您可以使用APK Analyzer轻松查看。它们应该都有一个packageName,它们应该都匹配,并且该值是即时应用程序的包名。
已安装的应用程序的软件包名称位于该APK的AndroidManifest.xml中。
samples演示了构建项目的推荐方法,这将生成具有相同包名称的即时和已安装的应用程序。
答案 1 :(得分:0)
检查基本模块是否具有对应用程序模块的引用:
像:
dependencies {
application project(":installed")
feature project(':app')
feature project(":lite")
}
如docs中所述:
通过设置此依赖关系,应用程序的每个风格的applicationId都是 应用于基本功能模块,后者又传播到所有模块 项目中的功能。这个表达式确保了 可安装的APK和即时应用APK具有相同的applicationId。如果 如果没有设置,applicationId将默认返回到中定义的那个 基本功能模块清单。