Android:您可以将活动添加到Instant App模块中吗?



我正在尝试创建一个即时应用,但想知道我是否可以在我的即时应用程序模块中添加一个活动。

创建Instant App模块时,Android Studio向导不会为您提供添加活动的选项,并且想知道它是否应该是空的。我尝试手动添加一个活动,但遇到了一些构建问题。

在我放弃之前,我只是想问一个空的即时应用程序模块是如何设计的,只应该依靠基本功能/特征模块作为依赖项。

编辑:当我尝试在com.android.instantapp模块中添加活动时,它找不到R资源文件。还会遇到构建错误:

Error:Execution failed for task :my-instantapp:packageDebugInstantAppBundle'. > 
Expected configuration ':my-instantapp:debugCompileClasspath' to contain exactly 
one file, however, it contains no files.

您无法使用com.android.instantapp插件将代码添加到模块中。

来自文档:

构建即时应用程序时,此模块会采用所有功能并创建即时应用程序APK。它不容纳任何代码或资源;它仅包含一个build.gradle文件,并在其上应用了com.android.instantapp插件。

鉴于所有代码都可以通过com.android.feature模块共享,因此不必在InstantApp模块中使用代码。

为了重复使用性,建议在应用com.android.application插件的模块中几乎没有代码,但要将依赖项添加到此类项目:

dependencies {
    implementation project(':features:hello')
    implementation project(':features:bye')
    implementation project(':features:base')
}

和依赖com.android.feature插件的模块中的主机代码。

这些将像这样编译:

|    depending module     |     compiled to     |
|-----------------------------------------------|
| com.android.application | application apk     |
| com.android.instantapp  | apk for each module | <- then packed into a zip file

最新更新