您的位置:首页 > 移动开发

解决Android TV版APP在真机上无法安装的问题

2018-01-26 15:05 741 查看
最近接了个与TV开发相关的项目,采用AS自动生成的项目在模拟器上运行没问题,但是在电视真机上就是安装不上,跑不起来,我这还没有电视测试,测试还要去找朋友借设备,有点郁闷。

AS自动生成的manifest文件如下

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:banner="@drawable/app_icon_your_company"
android:theme="@style/Theme.Leanback">
<activity
android:name=".MainActivity"
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>
</application>


与我们平常看到的项目不同的是category 的值LEANBACK_LAUNCHER,这是官方对TV启动的配置参数,用google的模拟器启动只要你配置了banner,在桌面上就能正常显示图标和打开;但是在国内的各大TV真机上还是又找不到图标无法打开的问题。为了解决这个问题我是全网搜索,但是网上TV开发的案例不多,而且都是和AS自动生成的代码类似,估计都是在Google的模拟器上测试的结果。无果,只能去sdk里面看官方文档了,我这没等级的英文水平居然找到了自己想要的答案。所以正确的manifest应该是下面的

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:banner="@drawable/app_icon_your_company"
android:theme="@style/Theme.Leanback">
<activity
android:name=".MainActivity"
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" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>


区别就是一行配置:

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


也就是得用我们传统得启动配置。

学习正确的姿势还是得去看官方文档:…sdk/docs/training/tv/start/start.html#dev-project
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐