No eligible devices for app install. | Android | Oreo 8.1.0 - android

I am getting this message in google play store -
Here is the Manifest of this app -
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.camera"
android:required="true"/>
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
Gradle config -
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
versionCode 5
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

This may be possible if the store listing is not done correctly, you may want to check your application on the Playstore console to make sure you have correctly completed all the requirements.
You may also refer to this link for further information about the eligibilty of devices on Google Playstore
https://productforums.google.com/forum/#!msg/play/06KeBKHNrv0/XoNKJy8OAQAJ

This can happen when the apk you uploaded was compiled for arm architecture, but your phone is using x86 architecture, or vice versa.
To fix it you can up the apk version, generate signed apk again, choose the missing "flavor" (x86 or arm) and upload that apk to the same release in the dev console.

Related

Doesn't support framework version: between 21 and 31 for Android app

Today I noticed on PlayStore console that some of Google Devices like Google Pixel 4 XL, Pixel 4a etc are not supported for my app. (My app is Cordova based)
The message for not supporting the device is Doesn't support framework version: between 21 and 31
I am not sure what this message mean. I am able to run my app app on same device emulator (Pixel 4 XL Android 12).
Here is the image for better understanding.
Here is my minSDK, targetSDK, maxSDK etc
minSdkVersion 21
targetSdkVersion 31
maxSdkVersion 31
compileSdkVersion 31
Manifest permission and features
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" android:required="false" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
How to fix this issue?
maxSDKVersion was the issue.
My build.gradle has the maxSDKVersion = 31. Because of that PlayStore was not pushing my app to users with Android 12 (SDK version 32). So I just removed the maxSdkVersion 31 from build.gradle and it worked.
What was the confusion?
I did not realize that Android 12 has two SDK version.
31 (Android 12)
32 (Android 12L)
Also in my opinion the error message on PlayStore Device Catalog was vague.
Google Play Support Team:
I contacted Google Play Store support team as well. They were able to locate the issue. They took 48 hours to respond (They usually take 24-72 hours). So it is another a good option for Android developers to reach out to Google Play Support team for PlayStore issues.
How PlayStore shows your app to users?
AFAIK: Google PlayStore filters application based on AndroidManifest.xml and build.gradle
So if your app is not compatible or visible to some devices. Then you should start looking into your AndroidManifest and build.gradle file.
For example if you defined android.hardware.camera.front as then will filter out your application for devices that do not have front camera.

Why can't I find my application on the Google Play Store?

We recently released an application update on the Google Play Store.
Now some tablets that previously could download it can no longer.
As you can see in the gradle the minimum version is Android 8.
defaultConfig {
applicationId "com.myapp"
minSdkVersion 26 //Android 8
targetSdkVersion 29 //Android 10
multiDexEnabled true
versionCode 106
versionName "7.2"
}
Here is what we are asking for in the manifest
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.NFC_TRANSACTION_EVENT" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.nfc" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
Our customers' table is Samsung Galaxy Tab (10.1 "2019) but by analyzing the list of devices that we support and do not support in the catalog of devices on Google Play Console, we have noticed that many tablets are excluded.
Our customers' table is Samsung Galaxy Tab (10.1 "2019) but by analyzing the list of devices that we support and do not support in the catalog of devices on Google Play Console, we have noticed that many tablets are excluded.
Unfortunately our tablet is not present in the catalog so we cannot get more information.
Tablet information:
Android 9
DISPLAY 10,1" 1200 X 1920 PX
FOTOCAMERA 8 MPX Ƒ/2.0
CPU OCTA 1.8 GHZ
RAM 3 GB
The problem was due to the following line of code:
<uses-feature android:name="android.hardware.camera" android:required="true" />
Even if the device in question has the camera module (actually who from Android 8 onwards does not have a camera module?) The Google Play Store does not think so.
As advised by Shawn Hazen the problem was resolved by bringing the value to false.

How can I Fix incompatibility between device and application on Google Play?

I've andorid appplication that has minSdkVersion 15 and targetSdkVersion 28 but when publish on Google Play it gives message "Your Device isn't compatible with this version" on Android 4.4.2 which shall have API 19 – 20 according to Android version history. Now what I do need to know is how to analyze the reason and how to approach to fix this situation.
My application works fine on debug and release editions on that Android 4.4.2 device
Edit:
I've found the FEATURE_CONNECTION_SERVICE is available only on API 21, How do I find the exact feature that is not work, is it a package I use inside my app or a permission tag, my manifest has theses permissions
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PROFILE" />
READ_PHONE_NUMBERS is only available in API 26.
You can find all the API levels here: https://developer.android.com/reference/android/Manifest.permission

App not being showed to various tablets even if they have SIM card in them

My mainfest.xml permission , features and the application specification looks like this :
<!-- To auto-complete the email text field in the login form with the user's emails -->
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="pj.name.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="pj.name.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<application
android:name=".Volley.MyApplication"
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:screenOrientation="landscape"
android:theme="#style/AppTheme">...........................
............................................
..
...</application>
>
And my build.grade (app level ) the default configs are like this :
defaultConfig {
applicationId "pj.name"
minSdkVersion 16
targetSdkVersion 23
versionCode 2016061714
versionName "2.5.3"
}
But when i publish the app in the playstore, those apps are not visible to certain tables including galaxy tab 4 (it has SIM card in it api level is more than 16) but it runs fine in the tables if i install apk in them directly.
What might be the reason? Thanks in advance guys .
made the auto focus optional and i was able to reach 1900 more devices and the tab was among them .
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

Android wear app, No eligible devices for app install

I developed a wearable app, worked fine on my devices (Nexus 5, Samsung Gear Live and Moto 360) and put on playstore. However, when I browse the app on PlayStore, it said "No eligible devices for app install".
These are the permissions:
Phone:
<uses-feature
android:name="android.hardware.type.watch"
android:required="false" />
<uses-permission android:name="android.permission.BODY_SENSORS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" />
Wear:
<uses-feature
android:name="android.hardware.type.watch"
android:required="false" />
<uses-permission android:name="android.permission.BODY_SENSORS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
I already tried this:
<uses-feature
android:name="android.hardware.type.watch"
android:required="true" />
For both apps, still no luck. How to solve this problem? Thanks.
Edit: if you want to try the app, here is the link
https://play.google.com/store/apps/details?id=com.sleepalert.heartrate
Edit 2:
For wear, I used this pair
minSdkVersion 20
targetSdkVersion 21
For mobile, I used this (those are defaults when I generated my project)
minSdkVersion 17
targetSdkVersion 21
Edit 3: after I remove the GET_TASKS permission as suggested, the app can be installed on my device running LolliPop 5, but not on my friend LolliPop 5.1, which is annoying since the newer one is supposed to be backwards compatible. Then if I change targetSdk to 22, it works on both. So in all, it's fine now. Hope helpful to somebody facing this crazy mess.
it seems that my phone is also not compatible. i would suggest you try to check if the app is avaliable in every country or has any restriction (being still in beta we should have acces to it ,thought), and check if all the permissions are necessary , could be that one of them , like GET_TASKS, wich is deprecated ( developer.android.com/reference/android/… ) could be blocking.

Categories

Resources