我的项目结构包含一个基本功能模块,一个已安装的应用程序模块(具有免费和付费版本)和一个即时应用程序模块(仅一个版本-免费)。即时应用程序的软件包名称似乎来自基本功能模块的清单。

为什么即时应用程序的build.gradle中的applicationId字段不会像对已安装的应用程序那样覆盖清单中的package字段?

hello instant app sample.中也观察到相同的行为

最佳答案

基本功能模块需要在其依赖项中具有对应用程序模块的application引用。这允许基本功能从应用程序模块中提取applicationId,而不使用其AndroidManifest.xml中定义的功能。

例如,基本功能的build.gradle看起来像:

dependencies {
   feature project(':feature1')
   feature project(':feature2')
   application project(':app')
   ...
}


根据documentation,这将构建所有口味(收费和免费),并为每个口味引入applicationId

关于android - 如何为Android Instant App设置package/applicationId?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45139577/

10-09 06:54