Выпуск приложения для Android на рынке "Sony Internet TV" (Google TV) - PullRequest
1 голос
/ 25 марта 2012

У меня возникли проблемы с отображением приложения на рынке в GoogleTV. Я искал официальную документацию Google и не думаю, что в манифесте перечислены какие-либо элементы, которые могли бы сделать программу недействительной; единственное указанное требование к оборудованию - это альбомный режим, wakelock и внешнее хранилище (ни то, ни другое не должно приводить к его фильтрации для 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>

Я собираюсь начать продвижение приложения после следующего основного релиза, так что это было немного обидно, так как я не могу заставить это работать. Любая помощь будет оценена, спасибо заранее:)

Ответы [ 4 ]

3 голосов
/ 05 апреля 2012

Манифест выглядит хорошо, как говорили другие, есть небольшая вероятность незначительных ошибок в тегах манифеста.

вы можете проверить и проверить скомпилированный APK с помощью команды:

aapt dump badging yourFileName.apk

Проверьте результирующий вывод на наличие неожиданных вещей, таких как функции, неявно полученные с помощью разрешений.

(aapt является частью обычного Android SDK)

3 голосов
/ 26 марта 2012

Если вы включите прямую блокировку для своего приложения, оно не будет отображаться в Google Play на устройствах, которые разрешают root-доступ.

1 голос
/ 25 марта 2012

Это выглядит хорошо для меня.одна вещь, которую вы можете сделать, это внимательно следить за logcat при развертывании.Плагин ADT не обеспечивает 100% правильности в манифесте.Я обнаружил, где у меня были незначительные ошибки, и единственный способ, которым я это заметил, это наблюдать logcat при развертывании приложения.

Вот официальная презентация Google IO по теме:

http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/en/us/events/io/2011/static/presofiles/developing_android_applications_for_google_tv.pdf

На этой странице описано, как функции манифеста влияют на видимость телевизоров Google,

https://developers.google.com/tv/android/docs/gtv_androidmanifest

0 голосов
/ 26 марта 2012

Я нашел несколько вещей, которые помогают обеспечить его обнаружение:

Ваш манифест должен включать не только 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, но также и для других важных устройств.

...