Gradle 包装器版本:2.5
Gradle android 插件:编译 'com.android.tools.build:gradle:1.2.3'
Android Studio:版本1.2.2
移动依赖项:
wearApp project(':wear')
compile 'com.google.android.gms:play-services-base:7.5.0@aar'
compile 'com.google.android.gms:play-services-wearable:7.5.0@aar'
compile "com.android.support:support-v4:22.2.1"
磨损依赖性:
compile 'com.google.android.support:wearable:1.2.0'
compile 'com.google.android.gms:play-services-wearable:7.5.0'
通过运行assembleDebug,移动应用程序被构建和打包,然后穿戴应用程序被独立构建和打包。这样,wear apk 就不会出现在移动应用程序的 res/raw 文件夹中, list 也不会更新等。
但是,如果我运行 assembleRelease,则会首先构建穿戴应用程序,并将其正确打包到移动应用程序中并安装在 watch 上。
我认为签名可能是问题所在。我为调试版本提供了与发布版本相同的签名配置(相同的证书、 keystore 等),但行为仍然相同。
使用 Android Studio 或从命令行打包都会发生这种情况。
不用说,这非常不方便,因为我无法在任一设备上调试应用程序。
有人经历过这种行为吗?我们必须启用才能在 Debug模式下打包可穿戴应用程序的 gradle 插件中是否发生了任何更改?
更新:我不知道我的内存是否失败,但我确实记得能够使用 assembleDebug 打包应用程序,部署到手机(并因此部署到 watch )并被能够在 watch 上连接调试器。
不过我可能弄错了。我最终做的是在两台设备上独立部署应用程序(通过 Android Studio)并从那里开始。也许我过去总是这样做,而文档的编写方式让我相信事实并非如此。我还是把这个问题留给其他人吧。
最佳答案
如果我没记错的话,手机应用程序中穿戴应用程序的打包仅针对发布版本,因此这是设计使然。事实上,当我开发一个应用程序或调试一个应用程序时,我只使用 adb 来推送 Wear 应用程序会更方便;我不必不断增加版本(否则穿戴应用程序将不会更新),也不需要每次都构建手机应用程序。你有什么理由不能这样做吗?另外,您是否有理由说“..我无法在任一设备上调试应用程序”?
关于Android Wear 在 Debug模式下不打包 watch 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31663726/