Android Question Google Play Store "this app is not compatible with any of your devices"

Rusty

Well-Known Member
Licensed User
Longtime User
I have developed; tested and deployed my app on many ASUS Transformers running ICS thru Marshmallow over the past several years. These have all been manually loaded (Unknown Sources) on these devices.
i recently published to the Play store and am trying to install it on the same device(s).
When I go to the play Store and try to install it, it says the device(s) are incompatible...
I was able to install in on my new Samsung S7 phone successfully.
In reading this blog, i noticed that if a camera app is trying to be installed but no flash is there, it won't install.
My app optionally uses cellular on devices with cell capability. My phone obviously supports this function, but the tablet i'm using doesn't have it, it uses WiFi.
Can this be the problem? If so, is there a Manifest setting or ???? that can allow it to install?
Thanks
Rusty
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
The required features are listed under the APK details in Google Play developer console:
SS-2016-06-19_09.43.29.png


You need to mark then as not required: https://www.b4x.com/android/forum/t...ony-android-required-false.40608/#post-243083
 
Upvote 0

Rusty

Well-Known Member
Licensed User
Longtime User
Thanks Erel,
The current required features on my APK details are:
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_COARSE_UPDATES
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BATTERY_STATS
  • android.permission.CAMERA
  • android.permission.CHANGE_NETWORK_STATE
  • android.permission.CHANGE_WIFI_MULTICAST_STATE
  • android.permission.CHANGE_WIFI_STATE
  • android.permission.DUMP
  • android.permission.GET_TASKS
  • android.permission.INTERNET
  • android.permission.KILL_BACKGROUND_PROCESSES
  • android.permission.MODIFY_PHONE_STATE
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.REBOOT
  • android.permission.RECORD_AUDIO
  • android.permission.UPDATE_DEVICE_STATS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.WRITE_SECURE_SETTINGS
  • android.permission.WRITE_SETTINGS

When I compile (debug, release or release obfuscated)to any of the different tablets or phones with or without telephony, the code loads and works fine.
Why is it different from Google Play?
Thanks
 
Upvote 0

Rusty

Well-Known Member
Licensed User
Longtime User
Still having problems with google play.
I've published several versions onto Google Play (Private Channel) and still the only device on to which it can be installed, is my cellphone (Samsung S7, Android 6.01 Marshmallow).
When I look at the Google details it says the permissions for the app are:
Version 6.00 can access:
Device & app history
retrieve system internal state
retrieve running apps
Location
approximate location (network-based)
precise location (GPS and network-based)
Phone
read phone status and identity
modify phone state
Photos/Media/Files
modify or delete the contents of your USB storage
read the contents of your USB storage
Storage
modify or delete the contents of your USB storage
read the contents of your USB storage
Camera
take pictures and videos
Microphone
record audio
Wi-Fi connection information
view Wi-Fi connections
Device ID & call information
read phone status and identity
Other
force device reboot
modify battery statistics
modify secure system settings
allow Wi-Fi Multicast reception
full network access
view network connections
read battery statistics
close other apps
modify system settings
connect and disconnect from Wi-Fi
change network connectivity

I've put the following in the manifest:
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<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.location.GPS" android:required="false"/>
<uses-feature android:name="android.hardware.location.NETWORK" android:required="false"/>
<uses-feature android:name="android.hardware.MICROPHONE" android:required="false"/>
<uses-feature android:name="android.hardware.screen.LANDSCAPE" android:required="false"/>
<uses-feature android:name="android.hardware.TELEPHONY" android:required="false"/>
<uses-feature android:name="android.hardware.TOUCHSCREEN" android:required="false"/>
<uses-feature android:name="android.hardware.WIFI" android:required="false"/>

Any advice on what I might be missing?
Thanks,
Rusty
 
Upvote 0

Rusty

Well-Known Member
Licensed User
Longtime User
Thanks Erel,
I've been through the Developer Console a "million" times...argh!
I can't seem to find anywhere it specifies "listed features", any suggestions? (sorry)
Rusty
 
Upvote 0

Rusty

Well-Known Member
Licensed User
Longtime User
Thanks!
Do i need to put in a Manifest entry (required=false) for each non-required hardware feature and each permission?
Rusty
 
Upvote 0

Rusty

Well-Known Member
Licensed User
Longtime User
Erel thanks for your help with this.
The permissions/hardware requirements were the limiting factor. I was able to get the app published and it now installs on my devices :)
One last question: Is it possible to determine the source of an installation? i.e. Installed from "unknown sources" vs installed from Play Store
Thanks
Rusty
 
Upvote 0
Top