无法安装我的应用程序

时间:2017-01-20 13:11:23

标签: android wear-os

我尝试在我现有的应用程序中添加一个磨损模块,尝试了很多解决方案,但无法弄清楚为什么我的应用程序没有安装在我的手表上。

我尝试了什么:

首先,使用我的应用手动打包:https://developer.android.com/training/wearables/apps/packaging.html

但我很快就决定不通过这个。

然后我决定转到gradle include,所以对于app的build.gradle,我将以下内容添加到依赖项的末尾:

debugWearApp project(path:':wear', configuration: 'flavor1Debug')
releaseWearApp project(path:':wear', configuration: 'flavor1Release')

对于build.gradle的磨损,我将以下内容添加到依赖项的开头:

wearApp project(':wear')

然后,在{build {1}}的{​​{1}}部分中,在android{}之后,我添加了以下内容:

buildToolsVersion

我所看到的:

  • 使用磨损的蓝牙调试将磨损应用程序安装到磨损上没问题

然后,当我安装一个生成我的应用程序的发布版本时,我可以看到它已经添加了一个文件android_wear_micro_apk.apk到res / raw这是我的手表应用程序。 我还在res / xml中看到了一个文件android_wear_micro_apk.xml,我猜想在hexa代码之间,有穿戴应用程序的描述。

然后我比较签名:

publishNonDefault true

使用res / raw中生成的磨损应用程序。它们完全具有相同的签名。然后我比较了:

keytool -list -printcert -jarfile mobile_app.apk
keytool -list -printcert -jarfile wear_app.apk

它们具有完全相同的包名称和版本代码及名称。

所以,从那以后:

  • 佩戴Apk正确添加
  • 如果使用adb和蓝牙调试安装在磨损上,则佩戴Apk正在工作
  • 两个apk都有相同的版本号,版本名称和包名称
  • 穿着不需要任何许可
  • 手机正在请求以下权限
    • android.permission.ACCESS_NETWORK_STATE
    • android.permission.INTERNET对
    • com.android.vending.BILLING
    • com.google.android.c2dm.permission.RECEIVE
    • android.permission.VIBRATE
    • android.permission.WRITE_EXTERNAL_STORAGE
    • android.permission.BLUETOOTH
    • android.permission.BLUETOOTH_ADMIN
    • com.samsung.accessory.permission.ACCESSORY_FRAMEWORK
    • com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY
    • com.samsung.WATCH_APP_TYPE.Companion
    • com.samsung.wmanager.ENABLE_NOTIFICATION

我真的很想知道我忘记了什么。

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

根据Google的Android开发者倡导者之一,Android Wear 2.0将需要完全独立的手表和手机应用程序,并放弃自第一版Android Wear以来使用的系统,该系统会根据您在您的应用程序上自动安装Android Wear应用程序电话。 他明确回答了Android Wear开发者Google+社区中的另一位开发人员(强调我们的):

  

Wear 2.0用户必须访问手表上的Play商店进行安装   应用。 Wear 1.X上没有自动安装。穿上2.0应用程序   完全网络访问,可以完全独立安装   手持式应用程序因此专注于独立的Wear应用程序   比手持式中心1.X Wear应用程序。

     

但是专为手表打造的应用呢?好吧,有一个整体   存储超出简单通知和生活的应用程序的价值   手表本身。奇怪的是,这些仍然必须安装   通过智能手机。目前,至少 - 新的Android Wear 2.0   更新将包括独立应用程序的功能。

答案 1 :(得分:0)

您可能想要检查应用中声明的权限。正如Requesting Permissions on Android Wear中提到的关于可穿戴设备和手机应用程序之间的权限模型不匹配,

  

如果您的手机应用程序开始使用Android 6.0(API级别23)型号,但您的可穿戴式应用程序没有,则系统会下载Wear应用程序,但不会安装它。第一次用户启动应用程序后,系统会提示他们授予所有待处理权限。一旦他们这样做,它就会安装应用程序。如果您的应用(例如表盘)没有启动器,系统会显示一条流通知,要求用户授予该应用所需的权限。

这些SO帖子中建议的解决方案也可能有所帮助:

答案 2 :(得分:0)

Forum

在手表上:

  • 设置,取消与手机配对。 (AW的旧版本可能会说Factory 复位。)

  • 请勿设置手表。

在电话上:

  • 在Android Wear中使用Disconnect ...选项。

  • 在Android Wear中,使用“设置”,“设备设置”并触摸手表 名称,触摸FORGET WATCH。

  • 设置,蓝牙。如果您仍然看到手表,请触摸忘记... 请注意,它不再出现在配对设备列表中。

  • 设置,设备,应用,选择Google Play服务。清除缓存和 清除数据。卸载更新。

  • 设置,设备,应用,选择Google App。清除缓存和清除 数据。同时卸载更新。

  • 设置,设备,应用,选择Android Wear。清除缓存和清除 数据。同时卸载更新。

  • 播放商店,应用,我的应用,触摸全部更新按钮。