APK not compatible with my Android devices

5

I have four updates of one of my apps modifying the AndroidManifest.xml for if I get the tab "application compatible with all your devices" and I'm not successful the app's tab .

I have the following devices

  • EEpad TF101 (ICE_CREAM_SANDWICH)
  • ACER LIQUID Z200 (KITKAT)
  • MOTO G (Lollipop)

Update I've downloaded an SDKmin version, removed support-screen and android:supportsRtl

I define the API for API 14+ devices In all I can install it with AndroidStudio but in the google play tab, I get it that is not compatible with any device.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="pro.caminsderonda.app.caminsderonda"
    android:installLocation="auto">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application
        android:name="pro.caminsderonda.app.caminsderonda.MyApplication"
        android:allowBackup="true"
        android:fullBackupContent="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

        <activity
            android:name="pro.caminsderonda.app.caminsderonda.SplashActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:launchMode="singleInstance"
            android:theme="@style/AppTheme.SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="pro.caminsderonda.app.caminsderonda.MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">

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

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="caminsderonda.wordpress.com"
                    android:pathPrefix="/"
                    android:scheme="https" />
            </intent-filter>
        </activity>

        <activity
            android:name="pro.caminsderonda.app.caminsderonda.DetailedActivity"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="pro.caminsderonda.app.caminsderonda.SettingsActivity"
            android:label="@string/settings_activity_title" />
        <activity
            android:name="pro.caminsderonda.app.caminsderonda.AboutActivity"
            android:label="@string/about_title_activity"
            android:theme="@style/AppTheme.NoActionBar" />
    </application>

</manifest>

And in the app.graddle

apply plugin: 'com.android.application'

android {

    compileSdkVersion 23
    buildToolsVersion '23.0.2'
    defaultConfig {
        applicationId 'app.caminsderonda.pro'
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 214
        versionName '2.1.4'
        signingConfig signingConfigs.config
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
   compile fileTree(dir: 'libs', include: ['*.jar'])
   testCompile 'junit:junit:4.12'
   compile 'com.android.support:appcompat-v7:23.4.0'
   compile 'com.android.support:design:23.4.0'
   compile 'com.android.support:recyclerview-v7:23.4.0'
   compile 'com.android.support:cardview-v7:23.4.0'
   compile 'eu.the4thfloor.volley:com.android.volley:2015.05.28'
   compile 'com.android.support:palette-v7:23.4.0'
   compile 'com.github.bumptech.glide:glide:3.6.1'
   compile 'com.android.support:support-v4:23.4.0'
}

Inside the console in the device compatibility section

Compatibles: 10685

I have green check all my devices that I have, but still in the playstore tab that the user sees, I get "This application is not compatible with any of your devices" I have all associated to the same account.

It would be appreciated if you have a MotoG if you can visit the tab of the app from desktop with your associated account, so you can see if it shows you if it's compatible with your device

Leave me a comment here on how you are notified of compatibility.

UPDATE / SOLVED

I've finally found it because it informs me that my devices are not compatible.

If the app is paid, as Google does not let the same developer can buy it, that message appears.

My last test was to get a new app de pago , and then put it gratis

While you are paying: This application is not compatible with any of your devices.

When I put it for FREE: This application is compatible with all your devices.

Thanks to all, for the answers, I have marked as correct the one that more compatible devices have offered me.

    
asked by Webserveis 12.04.2016 в 17:55
source

2 answers

4

First of all we can rule out that it's the minSdkVersion since you have it defined as 15 (4.0.3 and up)

but I see that you have android:supportsRtl="true" supported by api 17 onwards (Android 4.2, 4.2.2)

If it is supported in all densities and sizes, try removing:

<supports-screens
        android:anyDensity="true"
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:resizeable="true"
        android:xlargeScreens="true">
    </supports-screens>

In my case, I do not add supports-screens since it is inherent that the application is for any screen density.

In the case of including in your AndroidManifest.xml elements that use <uses-feature> , which serves to filter elements that do not meet hardware or software characteristics, they can be marked as "not required", I did not include them at the beginning of my answer since you do not have this type of elements in your manifest.xml, but I add it to document this answer.

For example if you define the use of Bluetooth and Camera in your application, for certain devices that do not have these features, they would be filtered and you could not find them in the playstore:

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

but you can define them as "not required" so that devices that do not have these features can use your application:

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

for more information; link

Update:

Looking more closely at your AndroidManifest.xml and based on the list of permissions that imply requirements of some Hardware feature

For ACCESS_WIFI_STATE add:

  <uses-feature android:name="android.hardware.wifi" android:required="false" />

This means that devices that do not support Wifi will not be filtered by your application. .

    
answered by 12.04.2016 / 18:56
source
1

Some devices do not support some features. As it can be a front camera, Wifi access or others. For this reason, always try to include your permissions%% of% unless it is 100% necessary for your application to work.

<uses-permission 
 android:name="android.permission.INTERNET"
 android:required="false" />
<uses-permission
 android:name="android.permission.ACCESS_WIFI_STATE"
 android:required="false" />
<uses-permission
 android:name="android.permission.ACCESS_NETWORK_STATE"
 android:required="false" />
<uses-permission
 android:name="android.permission.WRITE_EXTERNAL_STORAGE"
 android:required="false" />
<uses-permission
 android:name="android.permission.READ_EXTERNAL_STORAGE"
 android:required="false" />

On the other hand, check that the SDK numbers of your proguard-android.txt and proguard-rules.pro files match those of your gradle. This should be automatic, but having come from Phonegap, maybe these have not been updated correctly.

I hope it helps you,

a greeting.

    
answered by 17.05.2016 в 12:17