1

I've uploaded my apk on Google play developper console, and I can't get Nexus 7 to be in the supported devices list. Console says I'm requiring hardware features that are not available on tablets, but I can't figure out which one it is.

I already applied android:required=false on some features that may cause this issue.

Any idea ?

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

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false" />
<uses-permission android:name="android.permission.SEND_SMS" android:required="false" />
<uses-permission android:name="android.permission.WRITE_SMS" android:required="false" />
<uses-permission android:name="android.permission.READ_SMS" android:required="false" />
<uses-permission android:name="android.permission.VIBRATE" android:required="false" />

<permission
    android:name="com.popp.wepopp.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<permission
    android:name="com.example.gcm.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="19" />

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

Thanks,

Manfred Moser
  • 29,539
  • 13
  • 92
  • 123
Nico
  • 1,580
  • 14
  • 21
  • It's because of your phone permissions, that [imply](http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions-features) phone hardware requirements. Note that [uses-permission](http://developer.android.com/guide/topics/manifest/uses-permission-element.html) *doesn't actually have* a `required` attribute. See [this previous answer](http://stackoverflow.com/questions/12290295/app-not-available-for-nexus-7-on-google-play) for details. – Matt Gibson Jan 09 '14 at 10:11

2 Answers2

1

you can add compatible screen

<compatible-screens>
<!--no small size screens -->


<!--all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />

<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />

<!-- all xlarge size screens -->
<screen android:screenSize="xlarge" android:screenDensity="ldpi" />
<screen android:screenSize="xlarge" android:screenDensity="mdpi" />
<screen android:screenSize="xlarge" android:screenDensity="hdpi" />
<screen android:screenSize="xlarge" android:screenDensity="xhdpi" />

<!-- Special case for Nexus 7 -->
<screen android:screenSize="large" android:screenDensity="213" />

</compatible-screens>

and

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

Kapil Vats
  • 5,485
  • 1
  • 27
  • 30
0

If it's the old Nexus 7 (the one from 2012). It runs on tvdpi resolution/screen. To add it you need to add:

<screen android:screenSize="large" android:screenDensity="213" />

But I would recommend deleting the tag altogether (unless you really need it).

Joakim Engstrom
  • 6,243
  • 12
  • 48
  • 67