【问题标题】:Android wear not packaging watch app in debug modeAndroid Wear 未在调试模式下打包手表应用
【发布时间】:2015-07-27 21:35:20
【问题描述】:

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 文件夹中,也不会更新清单等。

但是,如果我运行 assembleRelease,则会首先构建穿戴应用程序,并正确打包在移动应用程序中并安装在手表上。

虽然我认为签名可能是个问题。我为调试构建提供了与发布相同的签名配置(相同的证书、密钥库等),但行为仍然相同。

这发生在使用 Android Studio 或从命令行打包。

不用说,这很不方便,因为我无法在任一设备上调试应用程序。

有没有人经历过这种行为?我们必须启用以调试模式打包穿戴应用程序的 gradle 插件有什么变化吗?

更新:我不知道我的记忆是否让我失望,但我确实记得能够使用 assembleDebug 打包 de app,部署到手机(然后部署到手表)并能够在手表上附加调试器。

不过我可能弄错了。我最终做的是在两台设备上独立部署应用程序(通过 Android Studio)并从那里开始。可能是我过去总是这样做,而文档的编写方式让我不相信。我仍然会将这个问题留给其他人。

【问题讨论】:

    标签: android wear-os


    【解决方案1】:

    如果我没记错的话,手机应用程序内的穿戴应用程序的打包仅用于发布版本,所以这是设计使然。实际上,当我在开发或调试一个应用程序时,使用 adb 推送穿戴应用程序对我来说要方便得多;我不必不断地增加版本(否则穿戴应用程序不会更新),也不需要每次都构建手机应用程序。你有理由不能这样做吗?另外,您是否有理由说“..我无法在任一设备上调试应用程序”?

    【讨论】:

    • 如果我使用发布,应用程序不可调试。现在,我记得很清楚,它曾经在调试模式下工作得很好。
    • 所以基本上,在开发过程中,不要使用发布,这样您就可以调试并使用 Android Studio 将构建推送到每一侧(手机和穿戴设备),或者为相同的操作执行手动 adb。一切正常后,使用 release 发布您的应用。
    • 但这正是问题所在。应用程序未在调试中正确打包,因此我目前无法在调试模式下运行它。
    • 为了确保我正确理解您,您是说如果您在每一侧(手机和穿戴设备)都进行调试构建,那么生成的 APK 不是处于调试模式?
    • 没有。我的意思是 assembleDebug 将可穿戴 apk 打包到移动 apk 中。只有 assembleRelease 可以。我也更新了我的问题。顺便说一句,感谢您的帮助。
    猜你喜欢
    • 2015-07-15
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多