我正在构建针对Amazon FireTV的Xamarin Android应用。当我将签名的APK上传到 Amazon开发人员门户并查看受支持的设备列表,我收到以下消息 对于所有Fire TV硬件:
您的APK清单需要此设备上不具备的功能: android.hardware.touchscreen
可以理解,FireTV硬件不支持触摸,因此删除此功能似乎是合理的。支持所有其他硬件设备。
我可以通过adb在本地部署和运行该应用程序,因此该应用程序本身在FireTV硬件上运行没有问题。
目前,清单文件中包含以下内容,以期获得不同的结果,但无济于事:
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.faketouch" android:required="true" />
<uses-feature android:name="android.software.leanback" android:required="true" />
我还能尝试解决此“触摸屏功能”问题吗?
答案 0 :(得分:0)
我相信问题是因为您将android.software.leanback必需设置为true。与Android TV专用设备不同,Amazon Fire TV设备不一定已安装或设置了向后倾斜功能。
我拥有的功能的完整列表,可让该应用程序在Fire TV和Android TV设备(以及支持电视功能的任何设备)上运行:
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false"/>
<uses-feature
android:name="android.hardware.faketouch"
android:required="false"/>
<uses-feature
android:name="android.hardware.telephony"
android:required="false"/>
<uses-feature
android:name="android.hardware.camera"
android:required="false"/>
<uses-feature
android:name="android.hardware.nfc"
android:required="false"/>
<uses-feature
android:name="android.hardware.location.gps"
android:required="false"/>
<uses-feature
android:name="android.hardware.microphone"
android:required="false"/>
<uses-feature
android:name="android.hardware.sensor"
android:required="false"/>
<uses-feature
android:name="android.software.leanback"
android:required="false"/>
<uses-feature
android:name="android.hardware.type.television"
android:required="true"/>
<uses-feature
android:name="android.software.leanback_only"
android:required="false"/>
如果您希望它在没有android.hardware.type.television的设备(例如平板电脑)上运行,只需从清单条目中删除该功能。否则它将限制在电视设备上。我在生产的Android TV和Fire TV应用程序中使用了上述设置。