android 在现有穿戴式应用程序中添加移动的模块仍然只支持穿戴式设备?

fhity93d  于 2022-12-25  发布在  Android
关注(0)|答案(1)|浏览(120)

我有一个Android项目,其中有一个用于移动的应用mobile的模块和一个用于wear os应用wear的模块。这两个应用都按预期构建和部署到模拟器,但我在Play Console上遇到了问题。
如何将Wear和移动的应用程序同时添加到我的Play商店列表中,以便当用户通过手机访问列表时,它会安装我的移动应用程序;当用户通过手表访问列表时,它会安装Wear应用程序?
我已经构建并发布了Play商店的Wear捆绑包到内部测试轨道中,并且能够在我的手表上安装和使用该应用程序。我使用./gradelew :wear:bundleRelease./gradlew :wear:publishBundle完成了这一操作。
现在我想在下一个版本中添加移动的模块以支持移动设备。
当我尝试运行./gradelew bundleRelease./gradlew publishBundle来构建和发布这两个包时
我试着只构建移动的捆绑包并发布它,它看起来确实有效,但支持的设备只列出了可穿戴设备,而不是手机或平板电脑。我检查了一下,没有移动应用程序的<uses-feature android:name="android.hardware.type.watch" />清单,我认为它没有理由仅限于可穿戴设备。

bpsygsoo

bpsygsoo1#

结果发现问题来自清单合并。
https://developer.android.com/studio/build/manage-manifests#merge-manifests
“合并多个清单文件您的APK或Android应用包文件可以仅包含一个AndroidManifest.xml文件,但您的Android Studio项目可能包含由主源集、构建变体和导入库提供的多个清单文件。在构建应用时,Gradle构建会将所有清单文件合并为一个清单文件,该文件将打包到您的应用中。
清单合并工具通过遵循合并启发式规则并遵循您使用特殊XML属性定义的合并首选项,来合并每个文件中的所有XML元素。”
当我的移动的应用的清单打开时,我可以通过单击窗口底部窗格沿着的“Merged Manifest”选项卡来查看合并的清单:

我右键单击清单中的该行并选择“Remove”。
这将以下内容添加到我的清单中:

<uses-feature
        android:name="android.hardware.type.watch"
        tools:node="remove" />

...现在我的应用程序按预期提供服务。

相关问题