【问题标题】:Android wear works only on signed .apkAndroid wear 仅适用于已签名的 .apk
【发布时间】:2018-05-10 09:19:43
【问题描述】:

说明: 我有电话应用程序和穿戴应用程序 - 仅适用于电话应用程序。 我最近更新了目标并将 SDK 编译为 27。 我一直在测试 Android P 预览版的性能,但无意中发现所有设备都存在问题。

问题: 从 Android Studio 将两个应用安装为“运行”时,Wear 应用无法与手机应用通信(反之亦然)。

另一方面 - 当我生成带有密钥的签名 APK 时,应用的两个发布/调试版本相互通信(手机应用和穿戴应用) - OK

两个应用程序的“applicationId”相同。 此外,这似乎不是与代码相关的问题,因为这两个应用程序都适用于签名的 APK。

知道有什么问题吗?

【问题讨论】:

  • 尝试将手机应用上传到与其他穿戴设备/模拟器相连的设备/模拟器,并让穿戴应用自动安装

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


【解决方案1】:

已解决 如文档中所述: https://developer.android.com/training/wearables/data-layer/

重要提示:您的手机和 Wear APK 签名和签名方案必须相同,DataLayer API 才能在设备之间成功通信。这包括您对 v1 和/或 v2 签名的使用。 确保在 build.gradle 或使用 Generate Signed APK 向导时正确设置签名方案

我在每个(可穿戴设备和手机)build.gradle 中都添加了

android {
        signingConfigs {
        debug {
            storeFile file("myKey.keystore")
        }
    }
...
}

关于密钥库。

当从 IDE运行或调试您的项目时,Android Studio 自动为您的 APK 签名,使用由 Android SDK 工具。第一次运行或调试项目时 Android Studio,IDE 会自动创建调试密钥库和 $HOME/.android/debug.keystore 中的证书,并设置密钥库 和关键密码。

来源:https://developer.android.com/studio/publish/app-signing

【讨论】:

  • 您能添加更详细的解决方案吗?例如,从哪里获取密钥库以及这段代码应该放在哪里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
相关资源
最近更新 更多