2013-04-05 7 views
5

Moje Oczywisty plików (uprawnienia & support-ekranów) są następujące:moja aplikacja nie wspiera 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" /> 

Po przesłaniu do gry sklep, to nie pokazuje nexus-7 jako obsługiwanego urządzenia. Jakieś domysły?

+0

Spróbuj usunąć ekrany pomocy –

+1

Dlaczego ustawiasz wartość maxSdkVersion? minSdkVersion i targetSdkVersion są wszystkim, czego powinieneś potrzebować. W rzeczywistości zaleca się, aby nie ustawiać go w ogóle: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#max –

+0

Tak, myślę, że @ArunCThomas ma rację. Istnieje kilka wartości, które nie są ustawione na true w ekranach obsługujących. Nie ma takiej potrzeby, chyba że naprawdę nie chcesz, aby aplikacja działała na urządzeniach o określonych rozmiarach ekranu. –

Odpowiedz

13

Podczas gdy Nexus 7 ma przednią kamerę, za Getting Your App Ready for Jelly Bean, wymaganie kamery oznacza, że ​​Twoja aplikacja będzie niezgodna z Nexusem 7. Ustaw wymagany = "false", jeśli chcesz mieć kompatybilność z Nexusem 7.

Aby upewnić się, że masz dostępną kamerę przed uruchomieniem jakichkolwiek funkcji związanych z kamerą, możesz detect whether the device has camera hardware.

+0

Na emulatorze Nexus-7, w razie potrzeby = "true" jest ustawiona, pojawia się także przedni aparat emulatora. Ale może wynikać z tego, że ta flaga jest ustawiona na true, gogle mogą nie uważać tej aplikacji za kompatybilną z nexus 7. Czy tak jest? Próbowałem z required = "false" i funkcjonalność kamery działa dobrze. Więc następnym razem, kiedy będę naciskać nowy apk, aby grać w sklepie, czy zajmie Nexus-7 jako obsługiwane urządzenie? – hemu

+1

Tak, jeśli ustawisz go na required = "false", Nexus 7 pojawi się jako obsługiwane urządzenie. Należy pamiętać, że oznacza to, że inne urządzenia bez aparatów mogą również wyglądać na zgodne - upewnij się, że wykryjesz sprzęt kamery, na wszelki wypadek (w przeciwnym razie aplikacja ulegnie awarii podczas próby uruchomienia aparatu). – ianhanniballake

+0

Yup ... Zastosowałem czek na kamerę .... thanx – hemu