我可以在app-project中创建构建变体以包含Wear应用程序吗?

时间:2016-10-17 15:29:28

标签: android android-gradle wear-os

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

  

请注意,目前无法创建适用于手机并观看的单个APK。

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

@apesoczi给出的建议对于Wear 1.x是正确的,但不适用于Wear 2.对于Wear 2应用程序而言,完全合法(并且事实上,推荐)完全独立运行,没有相关的掌上电脑应用程序。我建议你阅读https://developer.android.com/wear/preview/features/standalone-apps.html的前几节;他们会很好地概述与您的应用程序一起定位Wear 1和2所涉及的问题。

答案 1 :(得分:0)

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

  

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

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