问题
I have published an Android app in Google Play Store. I have developed it and tested it on some emulators, my mobile tel and my 7" tablet. No problem at all. I have detected that when trying to install the app from the store to my tablet, it says that it is not compatible with my device. I have searched for the reason, and I have added some lines to the manifest, like these:
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
But not solved. I have added also:
<uses-feature android:name="android.hardware.telephony" android:required="false">
But not solved.
The app uses Google Maps API. And the only reason for not being listed for my tablet may be the GPS use. I have always emulated my current position while developing, what should I change in the manifest to allow devices with no GPS service to be compatible to the Google Play Store filters?
Thank you
EDITED TO INCLUDE THE ENTIRE AndroidManifest.xml file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.solinpromex.casajuventudtrescantos"
android:versionCode="4"
android:versionName="1.4" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<meta-data android:name="com.google.android.maps.v2.API_KEY"
android:value="not shown here"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-feature android:name="android.hardware.telephony" android:required="false"></uses-feature>
<permission android:name="com.solinpromex.casajuventudtrescantos.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.solinpromex.casajuventudtrescantos.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:allowBackup="true"
android:icon="@drawable/logo192"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name="com.solinpromex.casajuventudtrescantos.Inicio"
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>
..activities come here
</application>
</manifest>
回答1:
As I suggested in my question, the solution was to add the following lines to AndroidManifest.xml:
<uses-feature android:name="android.hardware.location.gps" android:required="false"></uses-feature>
<uses-feature android:name="android.hardware.telephony" android:required="false"></uses-feature>
回答2:
Have you ensured that there is not an SDK incompatibility? Your inability to install the application might not have anything to do with the tablet itself but rather with the SDK version that is on the tablet(s). If the SDK on the tablet(s) is lower than the minimum SDK specified in the application manifest file then you will not be able to install the application. Even if you did not explicitly specify this in the manifest file, the minimum SDK that will be supported for installation will be determined by the highest API that you used in the development of your application. For instance, if you used the new camera API, android.hardware.camera2, which is only available for in the most recent SDK, then you will not be able to install the application on any device which is not utilizing the latest SDK.
来源:https://stackoverflow.com/questions/27659972/android-app-not-available-for-some-tablets-in-google-play