问题
I have developed an app using PhoneGap and tested the same in different version of emulator and also in my Motorola Photon. I have not faced any problem in testing.
But when I published the same in the market it says "This app is incompatible with all of your devices.". My devices are with different screen size, different OS version ranging from 2.1 to 2.4.
In publish home page, it says "This application is available to over 679 devices." It includes Motorola Photon 4g and all other devices which I have registered in the market download.
I have republished the code many times by updating manifest file and java file based on all the answers given through out the stackoverflow for this kind of issues. To list it,
- Removing user-permission
- Updating all combinations of supports-screens
- Refreshing the save button in the publish page several times
- Uninstalling the apps in my mobile (But I have few more devices where I have not tested my apps but still says incompatible)
- Running aapt tool
- Removing the jar files from lib folder and referring that externally in Eclipse
- Few more changes that I cant recall
below is the manifest file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.myapps"
android:versionCode="5" android:versionName="1.4">
<uses-sdk android:minSdkVersion="7" />
<supports-screens android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true"
android:resizeable="true" android:anyDensity="true" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<application android:icon="@drawable/app_icon" android:label="@string/app_name">
<activity android:name="com.test.myapps.HomePage" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
</activity>
</application>
</manifest>
Please, help me in fixing the same. Thanks in advance....
回答1:
Did you specifically run "aapt dump badging <.apkfile> ?
Android docs here.
I had a similar problem. Turns out I needed to use in my manifest the android:required="false" for several uses-features, like:
< uses-feature android:name="android.hardware.telephony" android:required="false" >
Full manifest example here. The results of dump badging showed that the market had added several uses-features (a bit further down in aapt output) that excluded mostly Samsung devices.
回答2:
Check if there is any compatibility, you need to start with :
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
Are you sure that you were checking the latest version of APK , not the old one. you will need to activate it. not only upload it ..
来源:https://stackoverflow.com/questions/9007883/app-is-incompatible-with-all-devices-after-publishing-to-the-market-but-same-was