2012-10-10 20 views
5

moja aplikacja nie pojawi się na Nexusa 7. konsola sklep grać koncerty dla Nexus 7 na liście urządzeń:Nexus 7 niezgodna z powodu oczywistych ustawień

Unsupported devices due to your manifest settings: 

Nexus 7(grouper)" 

mój manifest wygląda następująco:

... 

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14"> 
</uses-sdk> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.android.vending.BILLING" /> 

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

<compatible-screens> 
    <screen android:screenSize="normal" android:screenDensity="mdpi"/> 
    <screen android:screenSize="normal" android:screenDensity="hdpi"/> 
    <screen android:screenSize="normal" android:screenDensity="xhdpi"/> 

    <screen android:screenSize="large" android:screenDensity="ldpi"/> 
    <screen android:screenSize="large" android:screenDensity="mdpi"/> 
    <screen android:screenSize="large" android:screenDensity="hdpi"/> 
    <screen android:screenSize="large" android:screenDensity="xhdpi"/> 

    <screen android:screenSize="xlarge" android:screenDensity="ldpi"/> 
    <screen android:screenSize="xlarge" android:screenDensity="mdpi"/> 
    <screen android:screenSize="xlarge" android:screenDensity="hdpi"/> 
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi"/> 
</compatible-screens> 

... 

nie wymaga aparatu, który wydaje się być w przypadku typowych problemów z niekompatybilnością. Nie używam wpisu supports-screens (chcę wykluczyć wszystkie urządzenia z małym ekranem, a także zwykłe urządzenia ldpi i nie jest to możliwe przy użyciu ekranu AFAIK z obsługą ekranów).

Jakiś pomysł, co może być problemem? Jednym z interesujących szczegółów może być to, że raport nexusa 7 ma DENSITY_TV (213dpi). Jednak "tv" nie jest możliwą wartością dla androida: tagu screenDensity.

EDIT: konsola deweloper podaje następujące wymagane uprawnienia:

Permissions: 
android.permission.INTERNET, 
android.permission.ACCESS_NETWORK_STATE, 
android.permission.WAKE_LOCK, 
android.permission.READ_PHONE_STATE, 
android.permission.WRITE_EXTERNAL_STORAGE, 
com.android.vending.BILLING, 
android.permission.ACCESS_WIFI_STATE 

Features: 
android.hardware.screen.landscape, 
android.hardware.touchscreen, 
android.hardware.wifi 
+0

Zauważyłem, że nexus 7 działa dobrze przy użyciu materiałów hdpi. – toadzky

+0

Przejdź do zakładki apk w konsoli programisty i kliknij więcej ... Następnie skopiuj wymagane uprawnienia i funkcje. –

Odpowiedz

7

Jest to prawdą, nie można dodać "tvdpi" do manifestu. Istnieje jednak sposób obejścia tego problemu, jeśli zamiast tego wprowadzisz wartość "213", która, jak wskazałeś, jest wartością gęstości, zaćmienie będzie z niej zadowolone, a także będziesz mieć aplikację wyświetlaną na urządzeniach Nexusa 7.

+1

który działał .. dziękuję. –

4

Czytając listę pozwoleń, READ_PHONE_STATE tam może być przyczyną Google Play oznacza, że ​​aplikacja wymaga android.hardware.telephony funkcji, które nie są dostępne na Nexusie 7.

warto dodać to do Twojego manifest, aby rozwiązać ten problem:

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

Możesz przeczytać więcej o "Permissions that Imply Feature Requirements" here.

+0

jest wiele innych tabletów (np. Acer iconia a500 lub asus transormer tabs) z siecią mobilną kompatybilną z aplikacją; więc nie sądzę, że powinien to być powód.ale jeśli wskazówka biddulph.r nie zadziała, spróbuję ... –

3

Po przesłaniu aplikacji. Nie był też dostępny dla nexusa 7. W moim przypadku było to spowodowane, bo miałem w pliku manifestu

<uses-permission android:name="android.permission.CALL_PHONE" /> 

miałem powyższą linię, bo dawał możliwość wybrać numer telefonu z zamiarem na jednym ekranie aplikacji. Ta funkcja była niewielka i nie miała żadnego znaczenia dla aplikacji. To znaczy, że chciałem, aby aplikacja działała w urządzeniach bez funkcji telefonicznych.

Znalazłem ten post Five Steps to Futre Hardware Hapinness w blogu programisty Androida, który dokładnie wyjaśnia problem.

Dodanie kolejnej linii do pliku manifestu, generując nowe APK, i przesłać go do Sklepu Play zrobiłem moją aplikację kompatybilną do innej grupy urządzeń, w tym Nexusa 7.

<uses-feature android:name="android.hardware.telephony" android:required="false"/> 
Powiązane problemy