我正在尝试创建一个即时应用程序,但想知道我是否可以向我的Instant App模块添加活动。
在创建Instant App模块时,android studio向导不会为您提供添加活动的选项,并且想知道它是否应该是空的。我已尝试手动添加活动,但遇到了一些构建问题。
在我放弃之前,我只是想问一个空的Instant App模块是否是它的设计方式,并且只能依赖基本特征/功能模块作为依赖。
编辑:当我尝试向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.
答案 0 :(得分:3)
您无法使用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