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

Posted

技术标签:

【中文标题】“您的设备与此版本不兼容”【英文标题】:"your device isn't compatible with this version" 【发布时间】:2012-05-20 01:04:18 【问题描述】:

我在 Play 商店中放置了一个应用,而我的朋友在两台设备上运行 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 和您朋友拥有的名称设备。不要特别注意清单中的任何use-featurepermission 标签。 我的朋友有一台 Galaxy S2(不工作),它在他的 Transformer Prime 上工作。 此时可能是 Android Market 设置的限制,您可能不小心过滤掉了设备。有关详细信息,请查看我更新的帖子。还可以在尝试安装 apk 时查看 ADB 以了解详细信息。使用命令 adb install Filename.apk 将其安装到 Galaxy。 【参考方案1】:

由于这 2 台设备的版本相同,因此导致不兼容消息的逻辑解释是设备不同,并且应用正在使用其中一个不支持的功能。查看您的 AndroidManifest.xml 并密切注意 uses-featureuses-permission 标记。 Google Play 商店将使用这些过滤掉不兼容的设备。

例如,如果您有&lt;uses-permission android:name="android.hardware.camera"&gt;,而其中一部手机没有摄像头,那么它将被过滤掉。因为请求权限意味着您的应用需要摄像头才能正常运行。您可以通过在 AndroidManifest.xml 中添加 &lt;uses-feature android:name="android.hardware.camera" android:required="false" /&gt; 来解决此问题。当然,您还需要代码来保护您的应用在相机不可用时不会尝试访问它。

查看此页面了解更多信息,Google Play Filters。

Google Play 可以指出导致设备被过滤掉的原因。它非常简洁,但转到页面底部的设备下并选择显示设备,然后筛选 Galaxy 以验证它是否基于清单排除。

【讨论】:

我只有 这对我的应用来说是必需的:/ 应该没问题。几乎所有设备都有可写内存。【参考方案2】:

仔细检查AndroidManifest.xml 文件中的&lt;uses-feature&gt; 标签。听起来您的应用程序需要其中一个设备不支持的功能。

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

<uses-sdk
    android:minSdkVersion="3" />

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

【讨论】:

怀疑这就是答案。这是一个硬件过滤器,可能导致不兼容。 啊,对...没看到两个设备都在运行 4.0.3。在这种情况下,我需要更多信息来确定到底出了什么问题…… 我没有任何 标签。我确实摆脱了我的 android:targetSdkVersion="15" 该应用在 Google Play 商店中的名称是什么?您要在什么设备上安装该应用? 这不是答案,但这是我认为最有帮助的答案。【参考方案3】:

我摆脱了

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

现在可以使用了。

【讨论】:

【参考方案4】:

总是在 Manifest 中定义的东西,Google Playstore 会将您的应用过滤到某些设备上。 比如:

    声明了特定的目标 SDK 版本。 定义的相机权限(将过滤没有相机的设备) 使用功能相机。 支持 SIM 卡的设备。 带 Wifi 的设备。 最小 SDK 版本。

因此,您必须记住,您必须达到目标的最大设备数,您必须选择退出某些功能和权限。

希望这能让您对发布应用有所了解。

【讨论】:

【参考方案5】:

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

您可以从 google play console 获取链接,进入测试轨道摘要页面,打开测试人员选项卡,向下滚动到“测试人员如何加入您的测试”,在这里您会找到两个链接,一个用于 android,一个用于 Web ,复制一个网页版并发送给那些测试人员,他们接受测试邀请后,就可以从另一个链接访问应用程序,不会出错。

【讨论】:

以上是关于“您的设备与此版本不兼容”的主要内容,如果未能解决你的问题,请参考以下文章

在 Play 商店中,“您的设备与此版本不兼容” - 可能是由于相机

我已在所有设备上上传了该应用程序,但它在 Play 商店中显示“您的设备与此版本不兼容”

Android 应用程序与 Play 商店中的新设备不兼容

Play 商店中的设备兼容性问题

注意9由于兼容性问题,用户无法下载我们的应用

VMware Workstation与W7不兼容