android playstore claiming devices are incompatible
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2014 Google Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0.1" android:versionCode="3" package="com.EPMD.anxietyTrainer" android:installLocation="preferExternal">
<application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="false" android:isGame="true" android:banner="@drawable/app_banner">
<activity android:name="com.google.unity.GoogleUnityActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="com.google.intent.category.CARDBOARD" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<meta-data android:name="IMMERSIVE_MODE" android:value="true" />
</application>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" />
<uses-feature android:glEsVersion="0x00020000" />
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />
<uses-feature android:name="android.hardware.sensor.gyroscope" />
<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.ACCESS_WIFI_STATE" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
</manifest>
Even an s4 that should be more that adequate, but also a vs985 that should have all the hardware on board are not allowed to install my app because the playstore claims it is "incompatible". I have my android manifest included because i cannot for the life of me figure out why they are incompatible (does anyone know how to even check this?). I would really like know why this small manifest is excluding so many people, but i'm stumped.
The app is a simple cardboard thing where a movie is watched projected on a sphere, and a little anonymous data of the viewer's looking habits is being sent to a server.
oh, and this is what the developer portal makes of my apk:
Supported Android devices 2374 devices API levels 16+ Screen layouts 4 screen layouts
small
normal
large
xlarge
Localizations default language only Features 4 features
android.hardware.screen.LANDSCAPE
android.hardware.sensor.ACCELERO$$anonymous$$ETER
android.hardware.sensor.GYROSCOPE
android.hardware.WIFI
Required permissions 7 permissions
android.permission.ACCESS_NETWOR$$anonymous$$_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.INTERNET
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_PHONE_STATE
android.permission.WRITE_EXTERNAL_STORAGE
com.android.vending.CHEC$$anonymous$$_LICENSE
Answer by Guhanesh · Apr 04, 2016 at 06:52 AM
Your manifest says gyroscope sensor is mandatory for the app to function. So vs985 (no gyroscope) and other mobiles without gyroscope are not compatible with your app.
The default value for android:required if not declared is "true".
For more details see here