Выпуск приложения для Android на рынке «Sony Internet TV» (Google TV)

1

У меня возникли проблемы с получением моего приложения на рынке в 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>

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

  • 0
    не могли бы вы прислать мне имя пакета приложения? Я проверю, что происходит не так.
Теги:
android-market-filtering
google-tv

4 ответа

3

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

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

aapt dump badging yourFileName.apk

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

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

3

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

1

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

Вот официальная презентация 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
    Это действительно интересно. Не заметил Очевидно, что в Android SDK есть еще кое-что, что можно сгладить. Спасибо : )
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, но и для других важных устройств.

  • 0
    Это была глупая ошибка, я не «активировал» этот новый APK в консоли разработчика. Это работает, хотя. Спасибо за советы! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню