如何为 android 免安装应用设置 package/applicationId?

How to set the package/applicationId for android instant app?

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

为什么免安装应用 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