Sono riluttante a porre questa domanda, perché sembra che molte persone abbiano un problema simile e tuttavia non ho trovato alcuna soluzione che risolva il mio caso particolare.
Ho sviluppato un'app per Android ( collegamento all'app attuale ) e l'ho caricata nel Play Store. Il Play Store dice
"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."
Ovviamente questo è il telefono su cui ho sviluppato l'app, quindi dovrebbe essere compatibile. Alcune persone con altri dispositivi dicono che segnala compatibile, altri dicono che segnala incompatibile, ma non riesco a trovare alcuna tendenza. (A quanto pare non conosco molte persone con dispositivi Android.)
Ho provato quanto segue:
spostare un file di grandi dimensioni fuori dalla
res/rawdirectory come suggerito da questa risposta . L'unico file presente era un file di testo di ~ 700 kB, ma l'ho spostatoassets/senza modifiche apparenti.aggiungendo le seguenti due asserzioni di funzionalità:
<uses-feature android:name="android.hardware.faketouch" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" />pensando che forse il mio telefono non pretende di supportare la solita
android.hardware.touchscreenfunzionalità, ma ancora una volta, senza cambiamenti apparenti.
Quando carichi l'APK nel Play Store, l'unico filtro che segnala come attivo è la android.hardware.faketouchfunzione.
Il seguente è l'output di 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'
e per completezza, il mio file manifest:
<?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>
Nella sezione "Device Availability" del Play Store, posso vedere che tutti i dispositivi HTC, incluso Wildfire S, sono supportati ad eccezione di "G1 (trota)" e "Touch Viva (opale)", qualunque essi siano. In realtà vedo che sia "Wildfire S (meraviglia)" che "Wildfire S A515c (meraviglia)" sono elencati come supportati, ma il mio "Wildfire S A510b" non è specificamente menzionato. Può questo tipo di identificatore di sotto-modello avere così tanta importanza? Sono stato in grado di scaricare diverse altre app da Google Play sul mio telefono senza problemi.
L'unica cosa che non ho fatto a questo punto è aspettare 4-6 ore dopo aver caricato l'ultima versione (come in questo commento ) per vedere se dice ancora che è incompatibile con il mio telefono. Tuttavia, la pagina del Play Store mostra attualmente 1.0.2 che è l'ultima che ho caricato.
handleSilentExceptionmetodo per segnalare in silenzio. Almeno ti dirà su quale hardware sta lavorando l'app.