My Android App shows as “this item is not compatib

2019-01-24 19:43发布

问题:

I just published an update to my app in the market. I then tried to bring it up on the market on my Nexus One running 2.2.2. I could not find it in the market on the phone. I went to the web market, found it, but install was disabled saying "this item is not compatible with your device". Below is my manifest - I can't see anything that would prevent it from working on my Nexus One. Makes me think it is not showing for others also. Can anyone else install (or see if it is able to be seen) "Occupied for Kids" or "Occupied for Kids (Demo)". You can try the Demo version easily enough because it is free. Both exhibit the problem.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.ecg.occupiedDemo"
      android:versionCode="15"
      android:versionName="2.01"
      android:installLocation="auto" >

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

    <uses-configuration android:reqTouchScreen="finger"></uses-configuration>
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:icon="@drawable/button_launchdemo" android:label="@string/app_name">
        *<Activity List Here>*
    </application>
    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" />

</manifest> 

回答1:

Another possible reason:

I had this problem when I published an app, so I monkied around with it until I figured it out. When I disabled copy protection on my app, suddenly it was compatible with my device (Sony Xperia Play) and I was able to install through the android market.

Copy protection is now deprecated and is being replaced with a new licensing feature, so assuming licensing doens't have the same bug this problem will in theory be phased out. For those affected now, I have found a potential solution but it requires an unlocked bootloader to clear your cache partition:

http://forum.xda-developers.com/showpost.php?p=11626645&postcount=425

So if you are a developer and some people can't see your app, disable copy protection and use licensing instead. I also suggest using the Android SDK built in ProGuard feature to obfuscate (scramble) your code to make it harder to reverse engineer.



回答2:

After playing some, I found an answer to my issue. When I uploaded the APK to the market, I got a warning "This apk requests 1 native platforms that will be used for Android Market filtering" because I included a JAR file. Once I removed the JAR file, it started showing up again.



回答3:

Ok solved..

What you do is in the android developer console..scroll down you can now see supported devices that are "compatable". You see the below for example.

android developer console : Supported Devices [Learn More] This application is only available to devices with these features, as defined in your application manifest. Screen layouts: NORMAL LARGE XLARGE Screen densities: Required device features android.hardware.touchscreen This application is available to over 469 devices.Show devices

Click on the link regarding the Show devices. Then if your device is not there it WILL NOT SHOW IN THE MARKET. One reason is that some Screen layouts in later phones running 1.6+ are designated SMALL and will & not supported in 1.5. So in this example your app will not work on a SMALL screen phone 1.6+. In this case to add small screen support, add a target SDK version to your manifest. Then your project will not compile! So right click on your project -> properties and change build target to 1.6 , it will still run on 1.5 but now been seen in the market. As soon as you upload (before you publish) you should see your phone in the supported devices list..talk about swing and round-a-bouts!