Ich entwickelte und testete meine App mit verschiedenen Handys und Tablets Emulatoren und 4 realen Geräten: Samsung Galaxy Ace (GT-I8160P), Samsung Galaxy Tab 2 (GT-P5110 und GT-P3110) und einem Storex M977. Nach 5 Monaten Arbeit und Tests funktioniert die App auf all diesen Geräten. Also habe ich es bei Google Play hochgeladen. Google Play weist jedoch darauf hin, dass es nicht mit meinen Tablets kompatibel ist. Ich kann es nicht mit Google Play auf meinem Galaxy Tabs installieren ...App nicht kompatibel mit dem Gerät, das ich verwende, um es zu entwickeln?
Ich kann nicht herausfinden, was das Problem ist. Ich habe den Abschnitt support-screens ohne Erfolg hinzugefügt. Ich war ein bisschen verzweifelt, also habe ich auch diese Verwendungen hinzugefügt - Features mit required = "false": GPS, NETZWERK, TELEFONIE, WIFI, LOCATION, TOUCHSCREEN, auch wenn die App ohne diese Verwendungen funktionierte. Gleiches Ergebnis. Ich habe auch "TargetSdk" entfernt. Google Play sagt, dass meine App mit 2339 Geräten einschließlich einiger Galaxy Tabs kompatibel ist, aber nicht mit meinen Tabs. Nur das Galaxy Ace kann es von Google Play installieren.
Hier ist meine Manifest-Datei (ich habe gerade den ursprünglichen Paketnamen des Pakets durch fr.test.app aus Gründen der Vertraulichkeit ersetzt). Was mache ich falsch?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="fr.test.app"
android:versionCode="7"
android:versionName="1.2" >
<uses-sdk
android:minSdkVersion="8"
/>
<supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<uses-feature android:name="android.hardware.WIFI" android:required="false" />
<uses-feature android:name="android.hardware.GPS" android:required="false" />
<uses-feature android:name="android.hardware.TELEPHONY" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.LOCATION" android:required="false" />
<uses-feature android:name="android.hardware.NETWORK" android:required="false" />
<uses-feature android:name="android.hardware.TOUCHSCREEN" android:required="false" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CAMERA.FRONT"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<permission android:name="fr.test.app.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="fr.test.app.permission.C2D_MESSAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="fr.test.app" />
</intent-filter>
</receiver>
<service android:name=".GCMIntentService" />
<receiver
android:name=".OnBootReceiver"
android:enabled="true"
android:exported="false" android:label="OnBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</receiver>
<receiver
android:process=":remote"
android:name="fr.test.app.Alarm">
</receiver>
<receiver
android:process=":remote"
android:name="fr.test.app.CamAlarm">
</receiver>
<receiver android:name=".MyAdmin" android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data android:name="android.app.device_admin" android:resource="@layout/policies">
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED">
</action>
</intent-filter>
</meta-data>
</receiver>
<service
android:name=".BbSvc" android:enabled="true"
android:exported="false"
/>
<service
android:name=".WpsLoc" android:enabled="true"
android:exported="false"
/>
<service
android:name=".Cam" android:enabled="true"
android:exported="false"
/>
<service
android:name=".MniRec" android:enabled="true"
android:exported="false"
/>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".reminder"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!--
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" /> -->
</intent-filter>
</activity>
<provider android:name="fr.test.app.AndroidProvider"
android:authorities="fr.test.app.AndroidProvider"
android:exported="false"/>
</application>
Ich empfehle Ihnen das Attribut android hinzuzufügen: targetSdkVersion Sie bitte die Google-doc sehen: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html – Jarvis
Versucht dies: "Um das Problem zu beheben, gehen Sie in Ihre Android-Market-Publish ==> Produktdetails. In der Registerkarte "Optionen veröffentlichen" MÜSSEN Sie den Schutz der Sachen deaktivieren. (Zum Schutz Ihrer Anwendung sollten Sie das Lizenzierungssystem verwenden) "? – sschrass
Ich sehe nichts über den Kopierschutz. Es scheint, dass Google Play diese Funktion deaktiviert hat. Ich glaube, ich habe das Problem behoben: Ich habe die VIBRATE-Berechtigung verwendet. In diesem Fall fügt implizit das uses-feature android.hardware.vibrate hinzu. Ich füge es explizit mit android hinzu: required = "false". Jetzt sehe ich nur noch 56 inkompatible Geräte und keine Minen darunter. Ich muss meine App vor der Veröffentlichung erneut testen es aber ich denke das Problem ist gelöst. Danke. ' ' –
user2244705