【问题标题】:Can I create a build variant in my app-project to include a Wear app?我可以在我的应用项目中创建构建变体以包含 Wear 应用吗?
【发布时间】:2016-10-17 15:29:27
【问题描述】:

我有一个可以在手机上正常运行的应用,但我现在想将它移植到 Android Wear 设备上。它将是一个独立的应用程序(不与连接的手机通信*)。我正在考虑在我的 Gradle 文件中创建产品风格来构建 Wear 应用程序,因为它将使用许多相同的代码(与服务器通信、与设备连接等)。

android {
    productFlavors {
       full {
           ... stuff for my phone app ...
       }
       wear {
           ... stuff for my wear app ...
       }
    }
}

我已经遇到了dependencies 的问题,但在我尝试解决这些问题之前,我想知道这是否可行,还是应该创建一个单独的 Wear 项目?

*) 这是一个非常具体的用例,特定于客户。这将仅在一台 Wear 设备上运行,不会通过 Play 商店分发。

【问题讨论】:

  • 对于 Android Wear 1.x 应用,您必须与手机应用通信才能获取数据。听起来您正在尝试做仍处于测试阶段的 Android Wear 2.x - 所以单独的项目是有意义的。
  • @MorrisonChang 好吧,我做了一个单独的应用程序,它似乎在我的设备(Polar M600)上运行良好,我可以将蓝牙设备连接到它。不过,我确实必须使用手机进行 WiFi 设置。

标签: android android-gradle-plugin wear-os


【解决方案1】:

来自https://developer.android.com/wear/preview/features/app-distribution.html

请注意,目前无法创建可在手机和手表上运行的单个 APK。

换句话说,要将您的应用“移植”到 Wear,您需要进行更改,使其不再(令人满意地)在手机上运行。你不需要一个新项目,但你需要一个新模块。

@apesoczi 给出的建议对于 Wear 1.x 是正确的,但对于 Wear 2 则不正确。Wear 2 应用完全独立运行,无需关联的手持应用,这是完全合法的(事实上,也是推荐的)。我建议您阅读https://developer.android.com/wear/preview/features/standalone-apps.html 的前几节;他们会很好地概述在您的应用中同时定位 Wear 1 和 2 所涉及的问题。

【讨论】:

  • 我不会以 Wear 1 和 2 为目标,只针对一个我可以完全控制的特定设备(它是更大的工业系统的一部分)。我也不是在寻找单个 APK。你所说的关于项目中另一个模块的内容就是我的意思。谢谢。
【解决方案2】:

引用自:https://developer.android.com/training/wearables/apps/packaging.html

向用户发布时,您必须将可穿戴应用打包到 手持应用程序,因为用户无法直接浏览和安装应用程序 可穿戴的。如果打包妥当,当用户下载掌上电脑时 app,系统自动推送可穿戴app到配对 可穿戴。

您的问题的答案 - 否。此外,如果您的可穿戴设备要从服务器提取数据,您的应用应该执行此工作并将数据中继到可穿戴设备。我强烈建议您不要尝试在没有移动应用的情况下制作可穿戴应用。这样做完全违背了每一种开发和设计模式,我想说的是,你注册了自己最糟糕的噩梦。

【讨论】:

  • 好吧,我有很多技术噩梦,所以我准备好了。该应用程序将由我们在设备上预先打包,并且没有手机是用例的重要组成部分。正如我所说,我将在一个非常小的领域使用可穿戴设备。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-20
  • 2018-11-27
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 2017-07-27
相关资源
最近更新 更多