美文网首页
Android TV开发踩坑指南

Android TV开发踩坑指南

作者: 梅林骑士 | 来源:发表于2023-03-19 18:08 被阅读0次

    最近公司业务需要经常需要做一些小app。
    比如最近又需要做一款图片轮播的app。

    和所有需求一样,一开始不复杂,做着做着,需求就开始变多了。
    本来只是需要简单的轮播,后续出现了需要动态配置,单门店不同电视机,显示方式不同等。

    好嘛,开发app本身不复杂,接入阿里云。
    想法很简单,根据对应的门店id_电视编号,遍历对应的文件夹(当然阿里云描述的是本身服务器是没有文件夹的概念的,采用了名字去制造了一个伪文件夹的概念,其实文件都是按照平铺的方式存储在对应的bucket)。
    跟运维协商好,使用那个目录,然后配置好对应用户和policy权限,以及服务权限,这三者缺一不可。

    这里使用Java列举接口对指定文件夹进行遍历。

    好了app运行ok。

    然后手机测试ok。

    简单的很....
    最后发送给海外的小伙伴放到电视上运行,翻车,App Not installed?

    哦哦哦~~~明白这么简单的app还能翻车,一般这种情况是因为签名版本问题,或者系统兼容问题。
    查看minsSDKVersion,
    嗯,果然设置的很高,是26。这么说至少android 8才能使用,看视频里电视的画面这么渣可能android 8都没有。

    让海外小伙伴看了下系统版本Android 11,什么鬼?

    签名有问题换一个试试,默认都是v2签名开启,不应该啊。重新建个项目打个包过去,可以了。好吧重写项目。看起来这个TV app比我想的麻烦。

    这次安装成功了,But,又翻车了.


    img_v2_84208b2a-3d92-4f79-954b-7f9ef5c2276g.jpg

    居然不显示我app的图标,按道理不应该啊,桌面app按照啥规则去过滤了app列表。
    不偷懒了,打开GoogleTV开发文档仔细研读一下。

    在开始构建 TV 应用之前,您必须:

    都没问题

    声明 TV Activity。所以还得声明TV?

    <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>
    

    holy sheet.

    声明您的应用使用 Android TV 所要求的 Leanback 界面。如果您要开发一款在移动设备(手机、穿戴式设备、平板电脑等)以及 Android TV 上都可运行的应用,请将 required 属性值设为 false。如果您将 required 属性值设为 true,您的应用将只能在使用 Leanback 界面的设备上运行。

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

    最后还得加个这东西。


    image.png

    最后不加banner属性的话就会显示成上面那个熊样了。

    <application
            ...
            android:banner="@drawable/banner" >
    
            ...
        </application>
    

    然后TV还有很多便捷的api

    看个人需要了。

    相关文章

      网友评论

          本文标题:Android TV开发踩坑指南

          本文链接:https://www.haomeiwen.com/subject/nvyyrdtx.html