无法在安卓电视盒上安装 apk



我正在为Android TV编写一个应用程序。它在模拟器上运行良好,在 Android 电视盒上以调试模式运行良好。但是,当我使用 Android Studio 生成 apk 并尝试在同一框中安装该 apk 时,它以以下错误结束。

解析包时出现问题

该盒子运行的是Android 7.1.2,并通过了Android认证。

我在运行Android 6.0.1的未经认证的盒子上尝试了相同的操作,并且安装确实完成了,但是安装过程结束时的"打开"按钮被禁用,并且该应用程序不在菜单中其他已安装的应用程序中。

首先,我认为我在 android 清单中搞砸了一些东西,所以我尝试在 Android 工作室中创建新的电视项目并重复相同的过程,但它的行为相同。

我已经浏览了一些与"解析包时出现问题"错误相关的文章,但没有一篇提到Android TV,我在为手机/平板电脑开发时从未遇到过这个问题。

我也试过:

  • 检查是否允许安装来自未知来源的应用程序
  • 降低 compileSdkVersion 和 targetSdkVersion
  • 生成已签名的 APK

我错过了什么吗?

下面是 Android Studio 创建的默认应用的清单。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cz.okycelt.mockandroidtvproject">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.software.leanback"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.Leanback">
<activity
android:name=".MainActivity"
android:banner="@drawable/app_icon_your_company"
android:icon="@drawable/app_icon_your_company"
android:label="@string/app_name"
android:logo="@drawable/app_icon_your_company"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DetailsActivity" />
<activity android:name=".PlaybackActivity" />
<activity android:name=".BrowseErrorActivity" />
</application>
</manifest>

感谢您的任何建议。

我发现了这个问题。问题是 android 清单中主活动的意图过滤器中缺少CATEGORY_LAUNCHER。显然,无论该应用程序仅是Android TV,CATEGORY_LEANBACK_LAUNCHER都是不够的。

<category android:name="android.intent.category.LAUNCHER" />

最新更新