[英]Android Auto app doesn't show up on physical device
目前正在测试 Android Auto,我们现在正在物理设备(在汽车中)上进行测试。 到目前为止,我已经设法将工作 Android 自动支持添加到我们正在绘制一些基本模板的应用程序中。 这适用于模拟的 DHU 和应用程序显示并且可以使用。 问题是当我们在物理设备上进行测试时,它并没有出现。 我的应用程序当前显示在模拟的 DHU 中。 所有必要的开发人员设置都已打开,因此这应该不是问题。
作为控制测试,我通过 Android Studio 使用 > Automotive > Media Service 创建了一个新项目,只是为了确保它实际上可以在物理设备上进行测试。 无需修改并在设备上进行全新安装,汽车即可识别该应用程序,并且该应用程序可通过电缆连接(物理设备)在汽车中使用。
我怀疑我在不同的清单中忽略了一些东西。
这是项目应用程序的共享清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.itf_aa.shared">
<application>
<meta-data
android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc" />
<meta-data android:name="androidx.car.app.minCarApiLevel"
android:value="1" />
<service
android:name="com.example.itf_aa.shared.MainGridService"
android:exported="true">
<intent-filter>
<action android:name="androidx.car.app.CarAppService" />
</intent-filter>
</service>
</application>
</manifest>
同时这是控制应用程序的共享清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication.shared">
<application android:appCategory="audio">
<meta-data
android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc" />
<!-- Main music service, provides media browsing and media playback services to
consumers through MediaBrowserService and MediaSession. Consumers connect to it through
MediaBrowser (for browsing) and MediaController (for playback control) -->
<service
android:name="com.example.myapplication.shared.MyMusicService"
android:exported="true">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService" />
</intent-filter>
</service>
</application>
我怀疑问题出在意图过滤器中,似乎是差异制造者。 有谁知道我是否可以在意图过滤器中使用其他任何东西,或者我的清单可能是错误的? 这是我唯一怀疑是差异制造者的事情,因为我看不出应用程序类别如何使它与众不同。 为什么应用在使用“android.media.browse.MediaBrowserService”时会显示物理设备,而在使用“androidx.car.app.CarAppService”时不会显示?
我很感激我在这方面可能得到的任何帮助,所以提前感谢您的时间和帮助。 如果我遗漏了某些内容或您需要更多详细信息,请告诉我。 ❤️
原来答案可以在这里找到。
答:为了在物理设备上进行测试,您需要启动内部测试轨道并接受 Android 自动附录。 然后通过开发者控制台部署测试。
为了让您的应用在真正的主机(不是我们提供的桌面主机)上运行,您的应用必须通过 Google Play 商店分发。 这可确保您的应用程序已经过测试和审查,是否符合我们的指南。 这些指南确保您的应用程序与汽车环境相关,并通过我们的驾驶员分心测试。
它与清单无关。 仍然不确定为什么示例项目会绕过这一点,但肯定是 Google 应用程序的某种白名单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.