0

I have an app which works fine when i install it locally, but when i publish the app to google play it is not visible to all the devices.

I'm able to install it some devices but not all the devices can see it.

Here's my Manifest File:-

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.test.testing"
          android:versionCode="5"
          android:versionName="1.0">

    <uses-sdk android:minSdkVersion="14"
        android:maxSdkVersion="18"
        android:targetSdkVersion="16"/>


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

    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.INTERNET"/>

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

    <application android:icon="@drawable/home1" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name"
                  android:configChanges="orientation|keyboardHidden|screenSize"
                  android:windowSoftInputMode="adjustResize"
                  android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
                  android:hardwareAccelerated="false">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest> 

The app supports both tablet and phone.. Any help will be appreciated

Atiq
  • 396
  • 1
  • 3
  • 10
  • Tell us which devices it can't be viewed by. – Michael Yaworski Dec 23 '13 at 05:36
  • Check these 2 posts, they might help- [this post](http://stackoverflow.com/questions/13772245/google-play-excludes-devices?rq=1) and [this post](http://stackoverflow.com/questions/19947084/why-google-play-store-is-not-showing-the-reason-for-device-unavailability-for-ap?rq=1) – Infinite Recursion Dec 23 '13 at 05:38
  • @mike it can be viewed on devices with android SDK version > 14 and with camera – Atiq Dec 23 '13 at 07:18
  • "minSdkVersion" factor filters the devices which will install your app.So, on Any device having "android:minSdkVersion>="14"" or Running "Android 4.0" and Above you install your app. Any Device Having API version less than 14 or ANDROID version less than 4.0 will not support this app you developed. – sai Dec 23 '13 at 13:34

4 Answers4

0

It is because

a) you just uploaded it and it can take up to 24 hours to be visible in the google play store

or

b) any device below your min SDK version (14) will be unable to see it because they cant run your app

Cam Connor
  • 1,231
  • 2
  • 25
  • 40
0

I think your app's min SDK version is 14 , so all devices which have min SDK version is below than 14 unable to see it. because app can't run on that devices.

Sanket Shah
  • 4,352
  • 3
  • 21
  • 41
0

You say:

it can be viewed on devices with android SDK version > 14 and with camera

Well you have the target API to be version 14: android:minSdkVersion="14" and you also have a camera permission: <uses-permission android:name="android.permission.CAMERA"/>.

The problem would seem to be that devices that don't match up to the credentials the app needs will just not be able to see it. I don't have any sources, but I'm sure with this information, you can Google it and find some Android documentation on the matter.

Michael Yaworski
  • 13,410
  • 19
  • 69
  • 97
0

Could it be caused by the implicit features?

If an application requests hardware-related permissions, Google Play assumes that the application uses the underlying hardware features and therefore requires those features, even though there might be no corresponding to declarations. For such permissions, Google Play adds the underlying hardware features to the metadata that it stores for the application and sets up filters for them.

For example, "android.permission.READ_PHONE_STATE" permission means a "android.hardware.telephony" uses-feature with android:required="true". So,

If you don't want Google Play to filter based on a specific implied feature, you can disable that behavior. To do so, declare the feature explicitly in a element and include an android:required="false" attribute.

For the "android.permission.READ_PHONE_STATE" uses-permission line:

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

add uses-feature:

<uses-feature android:name="android.hardware.telephony" android:required="false" />
loveisbug
  • 411
  • 5
  • 9