安卓免安装应用 : How to create URL addressable modules?

标签 android android-studio android-gradle-plugin android-build android-instant-apps

Google 最近更新了有关即时应用的文档:Prepare your app

除了 3. Refactor your app, if necessary 之外,大部分点都清楚。 .

他们建议零售模块,如浏览、搜索、商品详情和结帐。

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

我确实看到了几个问题:

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

有人可以在黑暗中照亮吗?谢谢!

最佳答案

Instant Apps 所需的适当模块分离可以通过以下步骤轻松完成:

  1. 创建一个共享模块,其中包含应跨功能模块共享的代码和资源。
  2. 为每个主要功能创建几个功能模块(在 Google 提供的示例中:浏览、搜索、商品详情和结帐)。这些模块可以依赖于 p.1 中创建的共享模块,但它们之间不应相互了解。
  3. 要从不同的模块启动一个 Activity ,使目标 Activity 的 URL 可寻址,并通过隐式 Intent 启动它。谷歌 suggests使用应用链接。
  4. 要构建您的常规 Android 应用,请创建一个依赖于功能模块的应用模块。
  5. 一旦 Google 向公众发布其 Android InstantApp SDK,您就可以构建自己的 Instant Apps(每个功能一个)。

关于安卓免安装应用 : How to create URL addressable modules?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42091283/

相关文章:

Android - ImageLoader 不会从 URL 重新检索图像

java - 安卓工作室 : change from startActivityForResult to registerForActivityResult

基于 Kotlin 的 Gradle 脚本的 Android Lint 失败

android - 如何将 PayPal sdk 与 Gradle Android 集成

android - ProGuard 的 -whyareyoukeeping 在 Android Studio 中的输出在哪里?

java - 如何使用 JobScheduler 显示 toast 消息

java - 使用动态添加的元素进行数据绑定(bind)

android - Android Studio 2.2.1 Gradle同步NullPointerException

Android图像全屏查看器

java - Android Fragment 上的 ListView 错误