Android 电视应用在移动设备上运行

Android TV app runs on mobile

我想创建仅针对 Android 电视的应用。我在清单中使用它

<uses-feature android:name="android.software.leanback" android:required="true" />

考虑 developers.android 它说:

If you set the required attribute value to true, your app will run only on devices that use the Leanback UI.

但我可以在任何设备(平板电脑、phone 或电视)上 运行 我的应用程序。难道我做错了什么?我还添加了 activity 和 android.intent.category.LEANBACK_LAUNCHER.

这是否只发生在调试模式下?如果是这样,这是否允许我在 Android 迷你电脑或 Kindle Fire 等设备上测试我的电视应用程序?

Am i doing something wrong?

不是我能看到的。

Does this only happen in debug mode?

当您不通过 Play 商店等分销渠道进行分销时,就会发生这种情况。引用 the docs for <uses-feature>:

The purpose of a declaration is to inform any external entity of the set of hardware and software features on which your application depends.

在这里,"external entity" 主要是一个分发渠道,但原则上它可以是任何其他有权访问 APK 并选择检查它的渠道。

我发现按照您的设置,它限制了 Google Play 上的设备兼容性。但是您仍然可以使用 adb 在其他设备上进行测试(它适用于 7 英寸和 10 英寸的平板电脑,但 UI 对于我的 Nexus 4 来说太大了)。但是,您只能通过 adb 启动。即使安装了该图标,也不会在非 Android 电视设备上显示。