【问题标题】:Android Wear App not installed未安装 Android Wear 应用
【发布时间】:2014-07-10 20:38:02
【问题描述】:

我们今天发布了我们的第一个可穿戴应用程序,但遗憾的是这个应用程序没有按应有的方式自动安装。

我们仔细检查了 APK,可穿戴 apk 存在,但从未点击过手表。按照此处http://android-developers.blogspot.de/2014/07/update-on-android-wear-paid-apps.html 的建议手动打包APK 也无济于事。 (我们知道这只会影响付费应用,但可以肯定的是)

还有其他人面临这个问题吗?如果我们通过 adb 安装 APK,则该应用程序可以运行。

【问题讨论】:

  • 可能是一个愚蠢的问题,但也许您仍然安装了调试应用程序?在那种情况下,我猜由于签名不同,它不会被安装。

标签: android wear-os


【解决方案1】:
  • 检查您的权限。 Smartphone 部分需要拥有 Wear 组件拥有的所有权限。
  • 对两个应用(穿戴式应用和移动应用)使用相同的包 ID

【讨论】:

  • 将 Android Studio 更新到最新版本并向智能手机应用程序添加缺少的权限后,它可以工作。所以我想这就是问题所在。奇怪的是logcat中没有错误信息。
  • @onigum:您能告诉我添加到您的 Wear 应用清单中缺少的权限是什么吗?我有奇怪的问题是不是类似:stackoverflow.com/questions/24798599/…
  • @TheDevMan 他的意思是:在可穿戴应用程序中声明的所有权限都必须包含在移动应用程序中。换句话说:您的移动应用程序应该收集所有权限:移动应用程序中使用的权限 + 可穿戴应用程序使用的权限。
  • @MaciejCiemięga 除了我的移动应用程序中已经存在的训练营之外,我没有任何权限...我还输入了 在移动设备和穿戴设备中......两者都有相同的包名,但我仍然有问题......
  • @MaciejCiemięga:我的 Android Wear 项目中只有一个按钮,当我按下按钮时,我会在手机中收到数据。它在调试模式下工作正常。我需要做任何我的手机应用程序说明磨损连接发送安装应用程序在 android 磨损?
【解决方案2】:

我花了很多时间在这上面。 wearApp gradle 规则对我来说很好用。但是对于应用程序的付费版本,按照the blog 上的指南手动打包穿戴应用程序,它不会自动加载到可穿戴设备上。经过大量检查,我发现 wearApp gradle 规则(在 Android Studio 0.8.2 上)确实按照博客文章修复将可穿戴 APK 放置在 raw 文件夹中。所以似乎在最新的 Android Studio 中得到了修复(没有被告知?)。而且由于某种原因,手动打包 APK 不起作用。

所以使用wearApp gradle 规则。

另外,如果您需要为不同的手持 APK 版本引用不同版本的 Wear APK(免费版和专业版的 applicationId 与可穿戴版本匹配),请使用 wear gradle config 中的 productFlavors:

productFlavors {
    freeapp {
        applicationId "com.barkside.appfree"
    }

    proapp {
        applicationId "com.barkside.apppro"
    }
}

然后在您的 Pro 版本 gradle(例如)中,让 wearApp 依赖项针对特定配置:

wearApp project(path: ':wear', configuration: 'proappRelease')

您还需要在wear gradle 的android 块中使用publishNonDefault true

【讨论】:

  • 有这方面的文档吗? wearApp project(path: ':wear', configuration: 'proappRelease')
  • 当我做 wearApp project(path: ':wear', configuration: 'freeRelease') 我有一个错误 Error:(63, 0) Build script error, unsupported Gradle DSL method found: 'project ()'!有什么想法吗?
  • 是的,我也遇到了同样的问题,但是我在手持和穿戴模块方面都有自己的风格,我使用了这个stackoverflow.com/a/37657444/4128308
  • 可在此处找到相关文档:tools.android.com/tech-docs/new-build-system/…
【解决方案3】:

遇到同样的问题,帮助我的是添加

<uses-feature android:name="android.hardware.type.watch" android:required="false"/>

到手机清单。

【讨论】:

  • 这对我也有用,但为什么呢?现在建议可以将 Wear 应用安装在不是手表的硬件上。
  • 解决了我的问题。谢谢!
【解决方案4】:

对我有用的是去除产品风味。糟透了,我现在无法拥有特定于风味的代码,但 Android 拒绝将穿戴应用程序打包到发行版中。

见:Android Wear app not installing through handset

【讨论】:

【解决方案5】:

您应该检查两台设备上的 adb logcat 以了解发生了什么。它将给出错误消息以指示可能发生的问题。

另外,当你在本地测试时,你应该只 adb install the phone APK to the phone,让它把内嵌的 APK 安装到可穿戴设备上。然后,您无需一路通过 Play 商店进行测试。确保您进行发布构建,因为它们是唯一使用 wearApp() gradle 规则执行嵌入式 APK 的构建。

【讨论】:

  • 我遇到了同样的问题,adb 日志没有提供有用的信息。我会看到一条似乎表明它正在将应用程序发送到手表的行,而手表 adb 日志什么也没有。就我而言,我没有在移动应用和穿戴应用之间匹配的权限。不过,您是对的,如果设置正确,它将使用已签名的发布版本安装到手表上。无需一路发布到play store进行测试。
  • @JeffTyson:您能否告诉我添加到您的 Wear 应用清单中缺少的权限是什么?我有奇怪的问题是不是类似:stackoverflow.com/questions/24798599/…
【解决方案6】:

我在安装应用程序时遇到问题,我想是因为我的手表在安装时重置了。在重新安装一切正常工作后,我不得不给手表脱线。也许可以帮助某人

【讨论】:

    【解决方案7】:

    这听起来像是一个基本而愚蠢的答案。但是当我进行测试时,我忘记了在 Android Studios 中,你可以点击播放按钮来运行你的应用程序,你可以将它从移动设备更改为可穿戴设备。我只在穿戴设备上安装了移动应用而不是穿戴应用。

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多