我创建了一个在 WearOS 上运行的 应用程序,但我的客户报告说,将智能手表升级到 WearOS 版本后,他们无法在 Play 商店中看到该应用程序。 3.
这个新版本与旧应用程序兼容吗?如果没有,是否有任何指南或示例展示如何使旧应用程序与新的 WearOS 版本兼容?
他们使用的智能手表是Ticwatch 3 Pro
经过漫长而痛苦的研究,并没有在 Google 文档中找到任何或多或少有用的东西(这并不奇怪),我找到了一个经验性的解决方案,使我的应用程序对运行 WearOS 3 的设备可见。
驱动所有其他操作的第一步是在 gradle 构建配置中注释掉旧的 WearOS 支持库:
dependencies {
...
// implementation 'com.google.android.support:wearable:2.9.0'
此后,您很可能会遇到许多未解决的导入,并且您需要将导入中的所有类替换为来自与 WearOS 3 设备兼容的 Android jetpack 库的新类。
您的依赖项可能与我的不同,但我必须更改以下内容。请注意,这不仅涉及更改类名称,还涉及重写代码,因为新类的功能可能会有很大不同,这要感谢 Google 先生,他再次用新版本的库废弃了我们旧的工作应用程序。
WearableActivity -> ComponentActivity for my main activity
WearableActivity -> FragmentActivity for other activities
PhoneDeviceType - removed
RemoteIntent - removed
Installing companion on phone logic - removed, because it's very different now. Rewriting is is a pending task for me.
AmbientLifecycleObserver - I had to use this one to replace just one enableAmbient call in the old API's
WearableListView -> RecyclerView
WearableListView.ViewHolder -> RecyclerView.ViewHolder
您需要避免在 Play 商店中被拒绝的另一件事是根据他们的新要求实现启动屏幕。这个新的要求在 Google 文档中描述得相当好,这就是为什么我会在这个问题上省心,尽管我认为它对客户来说价值为零,同时为开发人员增加了更多工作。
可能我错过了一些东西,IDK,但它会让您了解支持新的 WearOS 3 版本需要做的工作范围。由于所有这些情况在所有新的 Google 版本中都经常发生,所以问题出现了:值得吗?也许我们应该将我们的应用程序限制在 iOS 和 iWatch 平台上,只有在我没有看到如此混乱的情况下