Gradle wrapper version: 2.5
Gradle android plugin: compile 'com.android.tools.build: Gradle:1.2.3'
Android Studio: Version 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文件夹中,manifest也不会更新等等。
但是,如果我运行assemblerrelease, wear应用程序首先构建并正确打包在移动应用程序中并安装在手表上。
我想也许签约会是一个问题。我给了调试构建相同的签名配置作为发布(相同的证书,密钥库等),但仍然相同的行为。
使用Android Studio或从命令行打包都会发生这种情况。
不用说,这是非常不方便的,因为我无法在任何设备上调试应用程序。
有人经历过这种行为吗?在gradle插件中有任何改变,我们必须启用在调试模式下打包应用程序吗?
UPDATE:我不知道我的记忆是否失败了,但我确实记得能够用assembleDebug打包de应用程序,部署到手机(因此部署到手表),并能够将调试器附加到手表上。
我可能错了。我最后做的是在两台设备上独立部署应用程序(通过Android Studio),然后从那里开始。这可能是因为我过去总是这样做,而文档的编写方式让我不这么认为。我还是要把这个问题留给别人。
如果我没记错的话,在手机应用程序中包装wear应用程序只针对发布版本,所以这是设计。实际上,当我在开发或调试一个应用程序时,使用adb来推送wear应用程序对我来说更方便;我不需要不断增加版本(否则佩戴应用程序将不会更新),也不需要每次都构建手机应用程序。你不能这么做有什么原因吗?还有,你说"……"有什么原因吗?我无法在任何设备上调试应用程序"?