我有一个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" />
清单,我认为它没有理由仅限于可穿戴设备。
1条答案
按热度按时间bpsygsoo1#
结果发现问题来自清单合并。
https://developer.android.com/studio/build/manage-manifests#merge-manifests
“合并多个清单文件您的APK或Android应用包文件可以仅包含一个AndroidManifest.xml文件,但您的Android Studio项目可能包含由主源集、构建变体和导入库提供的多个清单文件。在构建应用时,Gradle构建会将所有清单文件合并为一个清单文件,该文件将打包到您的应用中。
清单合并工具通过遵循合并启发式规则并遵循您使用特殊XML属性定义的合并首选项,来合并每个文件中的所有XML元素。”
当我的移动的应用的清单打开时,我可以通过单击窗口底部窗格沿着的“Merged Manifest”选项卡来查看合并的清单:
我右键单击清单中的该行并选择“Remove”。
这将以下内容添加到我的清单中:
...现在我的应用程序按预期提供服务。