App is incompatible with all devices after publishing to the Market but same was working when moved directly to the device

妖精的绣舞 提交于 2019-11-27 18:41:56

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!