上传含移动应用的Wear OS应用至Play Store时遇功能要求报错
确认Manifest声明的正确性
确保<uses-feature>标签直接放在<manifest>根节点下,且显式设置android:required="true"(默认值虽为true,但显式声明可避免合并冲突):<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.your.wear.app"> <uses-feature android:name="android.hardware.type.watch" android:required="true" /> <!-- 其他配置 --> </manifest>验证构建输出的包信息
使用aapt命令检查Wear应用包的feature配置,确认声明已被正确打包:aapt dump badging /path/to/your/wear/app-bundle.apk输出中需包含
uses-feature: name='android.hardware.type.watch' required='true',若缺失则说明构建过程中声明被覆盖或未正确包含。检查发布轨道的包分配
确认「仅Wear OS」轨道上传的是纯Wear OS应用包,避免误将移动应用包上传至该轨道;移动应用包需上传至普通移动发布轨道,两个轨道的包不要混传。排查Manifest合并冲突
查看Wear模块合并后的Manifest文件(路径:build/intermediates/manifests/full/<build-type>/AndroidManifest.xml),搜索android.hardware.type.watch确认其存在且required="true"。若被主模块配置覆盖,需在Wear模块的build.gradle中添加Manifest合并规则:android { // 其他配置 manifestMergerRules { usesFeature('android.hardware.type.watch') { require() } } }补充说明:关于独立Wear应用配置
若你的Wear应用支持独立运行,建议添加com.google.android.wearable.standalone声明(android:required="true"),这虽不是当前报错的直接原因,但能帮助Play Store更准确识别应用类型。
内容的提问来源于stack exchange,提问作者Yakir Yehuda

