Android版只适用于已签名的.apk

时间:2018-05-10 09:19:44

标签: android android-gradle wear-os

说明 我有手机应用程序和佩戴应用程序 - 只适用于手机应用程序。 我最近更新了目标并将SDK编译为27。 我一直在Android P预览上测试性能,但不小心我在所有设备上都发现了问题。

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

另一方面 - 当我生成带有密钥的签名APK时,应用程序的发布/调试版本相互通信(手机应用程序和销售应用程序) - 确定

我对两个应用都有相同的“applicationId”。 此外,它似乎与代码无关,因为这两个应用程序都适用于已签名的APK。

知道可能出现什么问题吗?

1 个答案:

答案 0 :(得分: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