Waham się, czy zadać to pytanie, ponieważ wydaje się, że wiele osób ma podobny problem, a mimo to nie znalazłem rozwiązania, które rozwiązałoby mój konkretny przypadek.
Opracowałem aplikację na Androida ( łącze do właściwej aplikacji ) i umieściłem ją w sklepie Play. Sklep Play mówi
"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."
Oczywiście to telefon, na którym stworzyłem aplikację, więc powinna być kompatybilna. Niektórzy ludzie z innymi urządzeniami mówią, że zgłasza kompatybilność, inni mówią, że zgłasza niezgodność, ale nie mogę znaleźć żadnego trendu. (Najwyraźniej nie znam wielu osób z urządzeniami z Androidem).
Próbowałem następujących rzeczy:
przeniesienie dużego pliku z
res/raw
katalogu, jak sugeruje ta odpowiedź . Jedyny taki plik zawierał plik tekstowy ~ 700 kB, ale przeniosłem go do niegoassets/
bez widocznych zmian.dodanie następujących dwóch potwierdzeń funkcji:
<uses-feature android:name="android.hardware.faketouch" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
myśląc, że może mój telefon nie twierdzi, że obsługuje zwykłą
android.hardware.touchscreen
funkcję, ale znowu bez widocznych zmian.
Podczas przesyłania pakietu APK do Sklepu Play jedynym filtrem, który zgłasza jako aktywny, jest android.hardware.faketouch
funkcja.
Oto wynik aapt dump badging bin/NZSLDict-release.apk
:
package: name='com.hewgill.android.nzsldict' versionCode='3' versionName='1.0.2'
sdkVersion:'4'
targetSdkVersion:'4'
uses-feature:'android.hardware.faketouch'
uses-feature-not-required:'android.hardware.touchscreen'
application-label:'NZSL Dictionary'
application-icon-160:'res/drawable/icon.png'
application: label='NZSL Dictionary' icon='res/drawable/icon.png'
launchable-activity: name='com.hewgill.android.nzsldict.NZSLDictionary' label='NZSL Dictionary' icon=''
main
other-activities
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '160'
i dla kompletności, mój plik manifestu:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hewgill.android.nzsldict"
android:versionCode="3"
android:versionName="1.0.2">
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" />
<uses-feature android:name="android.hardware.faketouch" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<application android:label="@string/app_name"
android:icon="@drawable/icon">
<activity android:name="NZSLDictionary"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".WordActivity" />
<activity android:name=".VideoActivity" />
<activity android:name=".AboutActivity" />
</application>
</manifest>
W sekcji „Dostępność urządzeń” w sklepie Play widzę, że obsługiwane są wszystkie urządzenia HTC, w tym Wildfire S, z wyjątkiem „G1 (pstrąg)” i „Touch Viva (opal)”, cokolwiek to jest. Właściwie widzę, że zarówno „Wildfire S (marvel)”, jak i „Wildfire S A515c (marvelc)” są wymienione jako obsługiwane, ale mój „Wildfire S A510b” nie jest szczegółowo wymieniony. Czy tego rodzaju identyfikator podmodelu może mieć aż tak duże znaczenie? Udało mi się bez problemu pobrać kilka innych aplikacji z Google Play na mój telefon.
Jedyne, czego nie zrobiłem w tym momencie, to odczekanie 4-6 godzin po przesłaniu najnowszej wersji (jak w tym komentarzu ), aby sprawdzić, czy nadal jest niezgodna z moim telefonem. Jednak na stronie sklepu Play jest obecnie wyświetlana wersja 1.0.2, czyli najnowsza, którą załadowałem.
handleSilentException
metody do cichego raportowania. Powie ci przynajmniej, na jakim sprzęcie działa aplikacja.