Android “您的设备与此版本不兼容”

Android “您的设备与此版本不兼容”,android,google-play,Android,Google Play,我在play store中安装了一个应用程序,我的朋友在两台设备上运行4.0.3,在尝试安装我的应用程序时收到以下消息:你的设备与此版本不兼容 一个设备允许安装,另一个不允许。我允许API 3-15,两个设备都是4.0.3。有什么问题吗 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="c

我在play store中安装了一个应用程序,我的朋友在两台设备上运行4.0.3,在尝试安装我的应用程序时收到以下消息:你的设备与此版本不兼容

一个设备允许安装,另一个不允许。我允许API 3-15,两个设备都是4.0.3。有什么问题吗

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.snotyak.basicfuelcalcpro"
    android:versionCode="2"
    android:versionName="1.2.3" >
    <uses-sdk
        android:minSdkVersion="4" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:name=".CalcApp"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MainTheme" >
        <activity android:name=".CalcActivity" >
        </activity>
        <activity
            android:name=".PrefsActivity"
            android:label="@string/prefs_name" />
        <activity
            android:name=".CalcTabView"
            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=".AboutActivity"></activity>
        <activity android:name=".HistoryActivity" />
        <activity android:name=".AnalysisActivity" />
    </application>
</manifest>
仔细检查AndroidManifest.xml文件中的标记。听起来您的应用程序需要某个设备不支持的功能

您还应该检查是否在AndroidManifest.xml中声明了以下内容:


您希望您的应用程序适用于运行API 3及以上版本的设备,而不是API 3到15。上面的代码将确保您的应用程序与API 3以上的所有设备一起工作。请注意,如果您当前正在使用android:maxSdkVersion属性,您通常不想使用它。

由于这两个设备在同一版本上,导致不兼容消息的逻辑解释是,设备不同,应用程序使用的功能其中一个不支持。查看您的AndroidManifest.xml并密切关注uses特性和uses权限标记。Google Play商店将使用这些过滤掉不兼容的设备

例如,如果你有一部手机没有摄像头,那么它会被过滤掉。因为请求权限意味着你的应用程序需要一个摄像头才能正常工作。您可以通过将添加到AndroidManifest.xml中来修复此问题。当然,你还需要代码来保护你的应用程序,防止它在不可用时试图访问相机

有关详细信息,请参阅此页

Google Play有一种方法可以指出是什么导致设备被过滤掉。它非常简洁,但请转到页面底部的“设备”下,选择“显示设备”,然后筛选Galaxy以验证它是否基于清单排除

我摆脱了

  <uses-sdk android:targetSdkVersion="15" /> 

现在它可以工作了。

谷歌Playstore总是在清单中定义一些东西,它会将你的应用过滤到一些设备上。 比如:

声明的特定目标Sdk版本。 定义的摄像头权限将过滤没有摄像头的设备 使用功能照相机。 支持SIM卡的设备。 带有Wifi的设备。 最小sdk版本。 因此,您必须记住,您必须达到目标的最大设备数量,您必须选择退出某些功能和权限


希望这能给您提供发布应用程序的想法。

我的一名测试人员也有同样的问题,如果测试人员使用的是旧的android,您必须为该用户提供一个web链接才能接受测试邀请,他/她必须在浏览器中打开该链接并接受测试邀请


您可以从google play控制台获取链接,进入测试跟踪摘要页面,打开testers选项卡,向下滚动到testers如何加入您的测试,在这里您将找到两个链接,一个用于android,一个用于web,复制一个用于web并发送给这些测试人员,接受测试邀请后,他们可以从另一个链接访问应用程序,不会出现错误。

发布AndroidManifest.xml和您朋友拥有的设备名称。对清单中的任何使用功能和权限标签都不加特别注意。我的朋友有一个Galaxy S2不起作用,它在他的Transformer Prime上起作用。在这一点上,它可能是Android Market设置中的一个限制,你可能不小心过滤掉了该设备。请看我更新的帖子了解详细信息。在尝试安装apk时,也可以查看ADB以了解详细信息。使用命令adb install Filename.apk将其安装到Galaxy。这是否是答案。可能是硬件过滤器导致了不兼容。啊,对了。。。没有看到两台设备都运行4.0.3。在这种情况下,我需要更多的信息来确定到底是什么错了…我没有任何标签。我确实去掉了我的android:targetSdkVersion=15 Google Play store上的应用程序名是什么?你想在什么设备上安装该应用程序?这不是答案,但这是我发现最有帮助的答案。我只有,这是我的应用程序所必需的:/应该可以。几乎所有的设备都有可写内存。
  <uses-sdk android:targetSdkVersion="15" />