У меня возникли проблемы с получением моего приложения на рынке в GoogleTV. Я искал официальную документацию Google, и я не верю, что в манифесте перечислены любые элементы, которые могут привести к недействительности программы; единственное требование к оборудованию - ландшафтный режим, wakelock и внешнее хранилище (ни одно из них не должно быть отфильтровано для GTV в соответствии с документацией), и я установил для атрибутов атрибутов "обязательный" атрибут "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>
Я собираюсь начать продвигать приложение после следующего крупного релиза, поэтому он был вроде облом, так как я не могу заставить его работать. Любая помощь будет оценена, спасибо заранее:)
Явление выглядит хорошо, как говорили другие, есть небольшие шансы на тонкие ошибки в ярлыках манифеста.
вы можете проверить и проверить скомпилированный APK с помощью команды:
aapt dump badging yourFileName.apk
Проверьте полученный результат на наличие каких-либо неожиданных вещей, таких как функции, неявно связанные разрешениями.
(aapt является частью обычного Android SDK)
Если вы включите форвардную блокировку для своего приложения, она не будет отображаться в Google Play на устройствах, разрешающих root-доступ.
Мне все хорошо. одна вещь, которую вы можете сделать, - это внимательно следить за логарифмом при развертывании. Плагин ADT не обеспечивает 100% -ную правильность манифеста. Я обнаружил, что у меня были тонкие ошибки, и единственный способ, который я заметил, - это наблюдать логарифм, когда приложение развертывается.
Вот официальная презентация Google IO по этой теме,
На этой странице описывается, как функции манифеста имеют эффект видимости для телевизоров Google,
https://developers.google.com/tv/android/docs/gtv_androidmanifest
Несколько вещей, которые я нашел, помогают обеспечить его появление:
Ваш манифест должен включать не только 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, но и для других важных устройств.