2014-02-19 5 views
0

Мне нужно приложение для работы в GoogleTV, но хорошая часть устройств GoogleTV, похоже, не поддерживается независимо от того, что я делаю с манифестом Android. Есть ли способ выяснить, что я делаю неправильно или почему приложение отклоняется для определенных устройств? Если бы я мог хотя бы запустить его на Sony NSZ-GS7/GX70, я был бы очень счастлив. Вот копия дампа aapt для apk.Проблемы с совместимостью GoogleTV в Android Marketplace

package: name='HarshMarshmallow.app' versionCode='2' versionName='1.0.1' 
sdkVersion:'11' 
targetSdkVersion:'17' 
uses-feature-not-required:'android.hardware.touchscreen' 
uses-permission:'android.permission.INTERNET' 
uses-permission:'android.permission.ACCESS_NETWORK_STATE' 
uses-permission:'android.permission.ACCESS_WIFI_STATE' 
application-label:'HarshMarshmallow' 
application-icon-120:'res/drawable-ldpi/ic_launcher.png' 
application-icon-160:'res/drawable-mdpi/ic_launcher.png' 
application-icon-240:'res/drawable-hdpi/ic_launcher.png' 
application-icon-320:'res/drawable-xhdpi/ic_launcher.png' 
application-icon-480:'res/drawable-xxhdpi/ic_launcher.png' 
application: label='HarshMarshmallow' icon='res/drawable-mdpi/ic_launcher.png' 
launchable-activity: name='HarshMarshmallow.app.activityMain' label='' icon='' 
uses-feature:'android.hardware.wifi' 
uses-implied-feature:'android.hardware.wifi','requested android.permission.ACCES 
S_WIFI_STATE, android.permission.CHANGE_WIFI_STATE, or android.permission.CHANGE 
_WIFI_MULTICAST_STATE permission' 
uses-feature:'android.hardware.screen.landscape' 
uses-implied-feature:'android.hardware.screen.landscape','one or more activities 
have specified a landscape orientation' 
main 
other-activities 
other-services 
supports-screens: 'small' 'normal' 'large' 'xlarge' 
supports-any-density: 'true' 
locales: '--_--' 
densities: '120' '160' '240' '320' '480' 
native-code: 'armeabi' 'armeabi-v7a' 'mips' 'x86' 

EDIT:

Вот копия моего манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="HarshMarshmallow" 
android:versionCode="3" 
android:versionName="1.0.2" > 

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="17" /> 

<uses-feature android:name="android.hardware.touchscreen" android:required="false"/> 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

<application 
    android:name="applicationGlobalVars" 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Light.NoTitleBar"> 
    <service android:name="com.paypal.android.sdk.payments.PayPalService" android:exported="false"/> 
    <activity android:name="com.paypal.android.sdk.payments.PaymentActivity" /> 
    <activity android:name="com.paypal.android.sdk.payments.LoginActivity" /> 
    <activity  android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" /> 
    <activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" /> 
    <activity 
     android:name="io.card.payment.CardIOActivity" 
     android:configChanges="keyboardHidden|orientation" /> 
    <activity android:name="io.card.payment.DataEntryActivity" /> 
    <activity 
     android:name="HarshMarshmallow.activityMain" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="activityAddChannel" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
    <activity android:name="activityCurrentChannels" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
    <activity android:name="activityCurrentShows" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
    <activity android:name="activityDeleteFromChannel" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
    <activity android:name="activityLoadingScreen" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"> 
    </activity> 
    <activity android:name="activityMediaPlayer" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
    <activity android:name="activityNameChannel" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
    <activity android:name="activityNetworkSettings" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
    <activity android:name="activityTutorial" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"> 
    </activity> 
    <activity android:name="activityHelp" 
     android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
     android:screenOrientation="landscape"></activity> 
</application> 

</manifest> 

EDIT 2:

Так что я только что получил ответ назад от Google.

Благодарим за обращение в службу поддержки разработчиков Google Play. Мы исследовали поведение, о котором вы сообщили, и обнаружили, что ваше приложение не является , совместимым с NSZGS7, из-за конфликта со следующим: нет указанных платформ (armeabi, armeabi-v7a, mips, x86) поддерживаются устройством. К сожалению, мы не можем предоставить более подробный анализ .

Являются ли родные платформы подключенными к библиотекам, которые я включил в свое приложение, или есть какие-то предпочтения, которые я забыл отключить? Я использую eclipse с ADT.

+0

Как насчет вашего Manifest.xml? – Jorgesys

+0

Добавлен манифест на сообщение – HarshMarshmallow

+0

Sony GoogleTV находится на Android версии 3.2 или на уровне API 13 – HarshMarshmallow

ответ

1

Итак, я вернулся сюда, чтобы ответить на этот вопрос, потому что я уверен, что другие люди будут иметь проблемы с этим в будущем. Проблема связана с линией native-кода в нижней части дампа aapt. Несмотря на то, что на ваших личных googletv может работать совершенно нормально, Google утверждает, что он несовместим в магазине.

Чтобы устранить проблему в Eclipse, сначала нажмите на свой проект и перейдите в раздел libs. Если в этом разделе есть что-то в папках, оно не будет работать в GoogleTV. Удалите папки, удалите библиотеки из пути сборки и удалите ссылки (если есть) из вашего кода и манифеста Android. Моя проблема возникла из-за включения библиотек paypal, но это должен быть общий способ устранить эту проблему.

Надеюсь, это поможет. Помните:

1) Вы не можете иметь портретную ориентацию с GoogleTV

2) Вам нужно добавить следующее:

<uses-feature android:name="android.hardware.touchscreen" android:required="false"/> 

к вашему androidmanifest

3) Вы не можете иметь строка с внутренним кодом в нижней части дампа aapt.Это приведет к фильтрации GoogleTV

0

Некоторые устройства Sony требуют использования тега-библиотеки использования в манифесте. Я не уверен, если это одна из них, но вы, возможно, потребуется следующее под тегом приложения:

<uses-library android:name="com.sony.tablet" /> 
0

убедитесь, что у вас нет изменения кода ориентации там. Так как это телевизор, приложение не может действительно использовать какой-либо материал ориентации.

+0

Мне нужно, чтобы ориентационный пейзаж всегда создавался для приложения, будь то на телефоне или в GoogleTV. Будет ли объявление ландшафта в манифесте заставлять устройства GoogleTV перестать работать? – HarshMarshmallow

+0

Я не уверен в этом, я знаю, что для своего приложения я испортил ориентацию в манифесте, а затем Google tv больше не поддерживался. Стоит попробовать. – reidisaki

Смежные вопросы