我正在为Android TV编写应用程序。它可以在模拟器上以及在Android TV盒上的调试模式下运行。但是,当我使用Android Studio生成apk并尝试在同一个盒子上安装该apk时,它会以下面的错误结束。
解析包裹有问题
该框运行的是Android 7.1.2,并且已通过Android认证。
我在运行Android 6.0.1的未经认证的盒子上尝试了同样的操作并且安装完成了,但安装过程结束时的“打开”按钮被禁用,并且应用程序不在菜单中的其他已安装的应用程序中。
首先,我认为我在Android清单中搞砸了一些东西,所以我尝试在Android工作室中创建新的电视项目并重复相同的过程,但它的行为相同。
我已经阅读了一些与“解析程序包有问题”相关的文章,但没有人提到Android TV,我在开发手机/平板电脑时从未遇到过这个问题。
我也试过了:
我错过了什么吗?
以下是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>
感谢您的任何建议。
答案 0 :(得分:1)
我发现了这个问题。问题是在android清单中主要活动的意图过滤器中缺少CATEGORY_LAUNCHER。显然,CATEGORY_LEANBACK_LAUNCHER是不够的,无论该应用程序只是Android TV。
<category android:name="android.intent.category.LAUNCHER" />