When I published my app to Google play store and I tried downloading it on my Google Nexus 7 , I get the message "Your device isn't compatible with this version".
My Manifest file is declared like this:-
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:icon="@drawable/ic_icon"
android:label="@string/app_name"
android:theme="@style/ApplicationTheme" >
<uses-library android:name="com.google.android.maps" />
<activity
android:name=".SplashScreenActivity"
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=".HomeActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" >
</activity>
<activity
android:name=".MyFormsTabActivity"
android:screenOrientation="portrait" >
</activity>
</application>
This is the problem :
This implies using the camera feature, which is different from the front-facing camera, as the N7 has. Make the camera feature explicit and optional. Details: http://developer.android.com/guide/google/play/filters.html
Got it..!!
http://developer.android.com/guide/google/play/filters.html
Well android permissions normally are not used as filters if you have specified attribute. In above case what happened was that I had declared the CAMERA permission , but Google Nexus 7 didn't had a camera( only has front camera). so Google Play filtered out the device.
So In order to solve this problem the best practice would be,
** If in our application manifest we have asked the permission to use any hardware feature then We should also declare the uses-feature attribute for that with android:required="false". **