0

I'm new to Android developing and I'm facing a strange issue: I published my app on google play with a minimum api level of 18 (android 4.4). I tested my app with many android version and run fine except one device. A Chinese smartphone (cubot P9) running android 4.5.5 don't see the app at all in the google play. Despite of the android version should be compatible the play store mark the app as incompatible.

I can't believe the phone report a fake android version? Can anyone give me an explanation?

The manifest file: ...

<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.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />

<application
    android:name=".Global"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">


    <activity
        android:name=".MainActivity"
        android:configChanges="orientation|screenSize|keyboardHidden"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>


    <service android:name=".MyFirebaseMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    <service android:name=".FirebaseIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>
    <service
        android:name=".GPS_Service"
        android:process=":myGPS_service" />

    <meta-data
        android:name="com.google.firebase.messaging.default_notification_channel_id"
        android:value="mynotificationchannel" />

    <activity android:name=".VisualizzaImmagine"></activity>
    <activity android:name=".ShowInNewActivity"></activity>
</application>

...

pickit123
  • 1
  • 1
  • Maybe you have some requirements in your Manifest that the phone doesn't match? Can you post your AndroidManifest file? – deluxe1 Mar 14 '19 at 09:49

1 Answers1

0

I'd suggest to double check the versions declared in the manifest, for instance I didn't find a android:minSdkVersion in the attached manifest.

Also revise the phone capabilities, maybe your app requires some features such as screen density or specific hardware that are not available on the device.

Also if you have access to real device, you can develop a simple app to log/display the Android OS version:

Log.v("OS Version",String.valueOf(android.os.Build.VERSION.SDK_INT)); 

and check if it's really supported by your app, you can verify that also from this table: https://developer.android.com/reference/android/os/Build.VERSION_CODES.html

Mina Wissa
  • 10,923
  • 13
  • 90
  • 158
  • I don't think the problem is due to missing features because If I install the app directly using the apk it works flawlessly. The only problem seems to be the incompatibility in google play for that specific device. – pickit123 Mar 14 '19 at 11:08