Android Instant App:如何创建URL可寻址模块?

Fah*_*him 25 android android-build android-studio android-gradle-plugin android-instant-apps

Google最近更新了有关即时应用的文档:准备应用

大多数要点都很清楚,除非 3.如有必要,请重新构建您的应用.

他们建议零售模块,如浏览,搜索,项目详细信息和结账.

问题:如何将应用程序拆分为功能齐全且URL可寻址的模块?

我在这里看到几个问题:

  • 如果我们使用像dagger,butterknife这样的库,......所有模块都依赖于其他模块
  • 如果我们的模块根据需要包含(视图),如何在不导入此模块的情况下实现到另一个视图(来自另一个模块)的转换?

有人可以将光照进黑暗中吗?谢谢!

Ido*_*lon 4

可以使用以下步骤轻松完成即时应用程序所需的正确模块分离:

  1. 创建一个共享模块,其中包含应在功能模块之间共享的代码和资源。
  2. 为每个主要功能创建几个功能模块(在Google提供的示例中:浏览、搜索、项目详细信息和结账)。这些模块可以依赖于 p.1 中创建的共享模块,但它们应该彼此一无所知。
  3. 要从不同模块启动活动,请使目标活动可通过 URL 寻址,并通过隐式意图启动它。谷歌建议为此使用应用程序链接。
  4. 要构建常规 Android 应用程序,请创建一个依赖于功能模块的应用程序模块。
  5. 一旦 Google 向公众发布其 Android InstantApp SDK,您就可以构建您的 Instant Apps(每个功能一个)。