我在让我的应用程序出现在GoogleTV的市场中时遇到了一些麻烦。我搜索了谷歌的官方文档,我不相信清单列出任何会使程序无效的元素;指定的唯一硬件要求是横向模式,唤醒锁和外部存储(根据文档,它们都不应该根据文档对GTV进行过滤)并且我将使用触摸屏元素“required”属性设置为false。
下面的是我项目的AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.whateversoft"
android:versionCode="2"
android:versionName="0.1" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="Color Shafted"
android:theme="@style/Theme.NoBackground"
android:debuggable="false">
<activity
android:label="Color Shafted"
android:name=".colorshafted.ColorShafted"
android:configChanges = "keyboard|keyboardHidden|orientation"
android:screenOrientation = "landscape">
<!-- Set as the default run activity -->
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="Color Shafted Settings"
android:name=".colorshafted.Settings"
android:theme="@android:style/Theme"
android:configChanges = "keyboard|keyboardHidden">
<!-- -->
</activity>
</application>
<!-- DEFINE PERMISSIONS FOR CAPABILITIES -->
<uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name = "android.permission.WAKE_LOCK"/>
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<!-- END OF PERMISSIONS FOR CAPABILITIES -->
</manifest>
我即将在下一个主要版本发布之后开始宣传这个应用程序,所以它有点令人失望,因为我似乎无法让它发挥作用。任何帮助将不胜感激,提前谢谢:)
答案 0 :(得分:3)
如果您为自己的应用启用了正向锁定功能,它将不会在允许root用户访问的设备上显示在Google Play中。
答案 1 :(得分:3)
清单看起来不错,正如其他人所说,清单标签中存在轻微错误的可能性。
您可以使用以下命令检查并验证已编译的APK:
<强> aapt dump badging yourFileName.apk
强>
检查结果输出是否有任何意外情况,例如权限隐式提取的功能。
(aapt是常规Android SDK的一部分)
答案 2 :(得分:1)
对我来说没问题。您可能要做的一件事是在部署时仔细观察logcat。 ADT插件不会在清单中强制执行100%的正确性。我发现我遇到了微妙的错误,我注意到的唯一方法是在应用程序部署时观察logcat。
以下是有关该主题的官方Google IO演示文稿,
此页面介绍了清单功能如何影响Google TV的可见性,
https://developers.google.com/tv/android/docs/gtv_androidmanifest
答案 3 :(得分:0)
我发现了一些有助于确保显示的内容:
您的清单不仅应包含minSdkVersion
,还应包含targetSdkVersion
:
<uses-sdk android:minSdkVersion="8" />
<uses-sdk android:targetSdkVersion="14" />
并确保您正在构建目标为14 +
同时添加supports-screens
有助于:
<supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="false"
android:anyDensity="true"/>
最后:
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-feature android:name="com.google.android.tv" android:required="false"/>
如果您的应用不仅适用于GTV,还适用于其他重要设备。