Róbert Gers Róbert Gers - 22 days ago 7
Android Question

App after release not compatible with my device

I recently posted my first app on google play store and when I wanted to download it on my phone I developed it on, the store said the device wasn't supported. When I checked the list of supported devices all of them were tablets, no phones.

You can find the app here

Here is my manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
package="com.thejuanandonly.schoolapp">

<supports-screens android:requiresSmallestWidthDp="480" />

<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:theme="@style/Widget.AppCompat.PopupWindow">
</uses-permission>

<uses-permission android:name="android.permission.VIBRATE"/>

<uses-permission android:name="android.permission.WAKE_LOCK"/>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_pls"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/DefaultTheme"
android:hardwareAccelerated="true"
android:largeHeap="true">


<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">

<intent-filter>
<action android:name="android.intent.action.MAIN" />

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

<activity
android:name=".ScheduleActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/AppTheme"
android:label="@string/app_name"
android:excludeFromRecents="true">
</activity>

<activity
android:name=".TaskAdder"
app:theme="@style/ToolBarStyle"
android:label="@string/app_name"
android:excludeFromRecents="true">
</activity>

<activity android:name=".SubjectDetailActivity"
android:label="@string/app_name"
android:excludeFromRecents="true"
android:screenOrientation="portrait">
</activity>

<activity android:name=".PictureGroupActivity"
android:label="@string/app_name"
android:excludeFromRecents="true">
</activity>

<activity android:name=".NotesDetailActivity"
android:label="@string/app_name"
android:excludeFromRecents="true">

</activity>

<receiver android:process=":remote" android:name=".NotificationRecieverActivity"></receiver>

<activity android:name=".LoginActivity"
android:label="@string/app_name"
android:excludeFromRecents="true">

</activity>

<activity android:name=".GridViewPager"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/Theme.Transparent"
android:label="@string/app_name"
android:excludeFromRecents="true">
</activity>

</application>

</manifest>

Answer
<supports-screens android:requiresSmallestWidthDp="480" />

Certainly doesn't look good in that setup.

Here's what the Android documentation has to say about this:

Starting with HONEYCOMB_MR2, this is the new way to specify the minimum screen size an application is compatible with. This attribute provides the required minimum "smallest screen width" (as per the -swNNNdp resource configuration) that the application can run on. For example, a typical phone screen is 320, a 7" tablet 600, and a 10" tablet 720. If the smallest screen width of the device is below the value supplied here, then the application is considered incompatible with that device. If not supplied, then any old smallScreens, normalScreens, largeScreens, or xlargeScreens attributes will be used instead.

Must be an integer value, such as "100".

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

Constant Value: 16843620 (0x01010364)

If you'd like to support phones as well, you should remove this line.