android - Play store reports "Your device isn't compatible with this version" but it installs via adb just fine on Nexus7 -


i have app released private google play beta. can install exact same apk nexus 7 fine

adb pm install

but through google play store marked exact same nexus7 as

your device isn't compatible version.

this same apk. can't figure out how information on why play store thinks it's not compatible.

my manifest looks this:

<uses-sdk android:minsdkversion="10" />  <uses-permission android:name="android.permission.internet"></uses-permission> <uses-permission android:name="android.permission.camera"></uses-permission> <uses-permission android:name="android.permission.record_audio"></uses-permission> <uses-permission android:name="android.permission.read_phone_state"></uses-permission> <uses-permission android:name="android.permission.wake_lock"></uses-permission> <uses-permission android:name="android.permission.modify_audio_settings" /> <uses-permission android:name="android.permission.write_external_storage" /> <uses-permission android:name="android.permission.get_tasks" />  <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" />  <application android:icon="@drawable/icon" android:label="@string/app_name">     <activity android:name=".foobar"               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>      <service android:name=".fooservice" android:exported="false" android:enabled="true" android:label="@string/app_name" android:icon="@drawable/icon">     </service>  </application> 

any on determining why google play thinks not compatible?

that's correct behavior: please refer official documentation here http://developer.android.com/guide/topics/manifest/uses-feature-element.html.

that's relevant part:

declared <uses-feature> elements informational only, meaning android system not check matching feature support on device before installing application. however, other services (such google play) or applications may check application's <uses-feature> declarations part of handling or interacting application. reason, it's important declare of features (from list below) application uses.

so fact you're able install apk through adb not proof particular device filtered off or not.

also, check here: http://developer.android.com/guide/topics/manifest/uses-permission-element.html

in cases, permissions request through can affect how application filtered google play.

if request hardware-related permission — camera, example — google play assumes application requires underlying hardware feature , filters application devices not offer it.

update: you've confirmed you're using nexus 7 2012, please refer official blog post: http://android-developers.blogspot.ch/2012/07/getting-your-app-ready-for-jelly-bean.html.

google states "apps requiring android.hardware.camera feature not available on nexus 7".

if need permission because use camera in app, can programmatically explained in http://developer.android.com/guide/topics/media/camera.html#detect-camera.


Comments

Popular posts from this blog

html - Sizing a high-res image (~8MB) to display entirely in a small div (circular, diameter 100px) -

java - IntelliJ - No such instance method -

identifier - Is it possible for an html5 document to have two ids? -