2013-04-05 8 views
5

Мой файл манифеста (разрешения & поддержки экранам) являются следующие:My App не поддерживает Nexus 7

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

    <permission 
     android:name="com.ecw.healow.permission.C2D_MESSAGE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="my_app_package.permission.C2D_MESSAGE" /> 
    <!-- App receives GCM messages. --> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <!-- GCM requires a Google account. --> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <!-- Keeps the processor from sleeping when a message is received. --> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_CALENDAR" /> 
    <uses-permission android:name="android.permission.WRITE_CALENDAR" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-feature android:name="android.hardware.camera" android:required="true"/> 
    <supports-screens 
     android:anyDensity="true" 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:smallScreens="true" /> 

После загрузки играть магазин, он не показывает нексус-7 в качестве поддерживаемого устройства. Угадайте?

+0

Попробуйте удалить вспомогательные экраны –

+1

Почему вы устанавливаете maxSdkVersion? minSdkVersion и targetSdkVersion - все, что вам нужно. На самом деле рекомендуется не устанавливать его вообще: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#max –

+0

Да, я думаю, что @ArunCThomas прав. Есть несколько значений, которые вы не устанавливаете на true в экранах поддержки. Также нет необходимости иметь это вообще, если вы действительно не хотите, чтобы ваше приложение запускалось на устройствах с определенными размерами дисплея. –

ответ

13

В то время как Nexus 7 имеет переднюю камеру, в соответствии с Getting Your App Ready for Jelly Bean, требуя, чтобы камера показывала, что ваше приложение будет отображаться как несовместимое с Nexus 7. Установите обязательный = «false», если вы хотите совместимость с Nexus 7.

Чтобы обеспечить доступность камеры перед запуском любых связанных с камерой функций, вы можете detect whether the device has camera hardware.

+0

На эмуляторе Nexus-7, если требуется = «true», тогда также появляется всплывающая передняя камера эмулятора. Но может быть из-за того, что этот флаг установлен в true, goggle, возможно, не рассматривает приложение, совместимое с nexus 7. Это так? Я пробовал с обязательным = «false» и функциональность камеры работает нормально. Так что в следующий раз, когда я нажимаю новый apk для воспроизведения магазина, будет ли он использоваться в качестве поддерживаемого устройства nexus-7? – hemu

+1

Да, если у вас установлено значение required = "false", Nexus 7 появится в качестве поддерживаемого устройства. Обратите внимание, что другие устройства без камер также могут быть совместимы - убедитесь, что вы обнаруживаете аппаратное обеспечение камеры, на всякий случай (иначе ваше приложение будет разбиваться при попытке запустить камеру). – ianhanniballake

+0

Yup ... Я применил чек для камеры .... thanx – hemu

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