Android:您可以向Instant App模块添加活动吗?

时间:2017-11-22 02:07:13

标签: android android-instant-apps

我正在尝试创建一个即时应用程序,但想知道我是否可以向我的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.

1 个答案:

答案 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