Android:应用程序不支持该设备-为什么?

9
我正在开发一个相机应用程序。现在有一个用户抱怨他的设备不支持。他使用的是Acer A200
我不明白为什么Android市场/Google Play会标记此设备不支持该应用程序。您知道可能是什么原因吗?
以下是清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.ttttrash.myapp"
    android:versionCode="32"
    android:versionName="3.2" >

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:hardwareAccelerated="true">
        <activity
            android:name=".CameraActivity"
            android:configChanges="keyboard|orientation|keyboardHidden"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustPan" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.media.action.IMAGE_CAPTURE" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="net.ttttrash.myapp.PreferenceActivity"
            android:label="@string/set_preferences" >
        </activity>
        <activity 
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
        </activity>

    </application>

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="8" />

    <uses-permission android:name="android.permission.CAMERA" />
    <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-feature android:name="android.hardware.camera.autofocus" android:required="false" />

</manifest>

可能是Android版本不匹配? - Aleks G
@parag 我认为没有任何日志可供粘贴。该应用程序甚至不会在从该设备进入市场时显示。 - Aleks G
@AleksG 谢谢。有什么问题吗? - Parag Chauhan
@parag 我不知道 :) 这不是我的问题。从清单文件来看,我唯一可能想到的是 Android 版本,但我不明白为什么该应用程序不能在 Android 4.0.3(Acer A200 的默认版本)上使用。 - Aleks G
1
android:targetSdkVersion="8" 更改为 android:targetSdkVersion="13" 或更高版本,并检查是否存在任何问题,如果有,请修复。现在将其恢复为 android:targetSdkVersion="8" - Ravi1187342
@stoefln,你解决了这个问题吗??? - ghostCoder
5个回答

5
感谢Entreco,我找到了答案。只需在我的应用程序设置中查找支持的设备,然后通过比较不支持的平板电脑(Acer Iconia A200)和支持的设备(A510平板电脑)的功能规格,我找到了答案:A200没有后置摄像头。因此,在清单中缺少以下条目:
<uses-feature android:name="android.hardware.camera.front" android:required="false" />

enter image description here


4

好的,这可能有点冒险,但是那个特定设备上的摄像头是否由于某种原因被禁用了呢?

看起来下面的权限可能会影响到这一点:

<uses-permission android:name="android.permission.CAMERA" />

这意味着您的应用程序正在使用 android.hardware.cameraandroid.hardware.camera.autofocus 功能。但是,您仅将 android.hardware.camera.autofocus 定义为非强制性。因此,请尝试添加:

<uses-feature android:name="android.hardware.camera" android:required="false" />

谷歌应用商店应用细节过滤过滤器


为什么应该禁用相机?设备有相机,你可以在规格中看到... - stoefln

4

将以下内容添加到您的清单文件中:

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

我假设没有显式支持平板电脑(xlargeScreens),使得 Google Play 认为此应用不受支持。

2
那没有任何区别。 - stoefln

2
我曾经遇到过相同的问题,后来发现用户安装了一个自定义的ROM。这个自定义的ROM在相机方面存在一个错误(例如相机不受支持,这对于ROM来说非常常见),这导致应用程序不兼容...
此外,请在您的Google Play开发者帐户中仔细检查是否支持Acer A200等设备。例如,在开发者控制台中,在“发布管理”下检查“设备目录”!在那里,您可以搜索您的设备,并查看设备是否受支持。

哇,我不知道有这个功能。不幸的是,在“未被清单支持”的列表中确实将A200列出:http://postimage.org/image/yrwtidhe7/。你有什么想法为什么会这样? - stoefln
哦,我找到答案了! - stoefln
不错!是的,他们知道如何很好地隐藏它,但是能够获得更多关于正在发生的事情的线索真的很不错。 - Entreco
1
对于任何在2018年试图查找设备列表的人,它被称为“发布管理”下的“设备目录”! :) - ᔕᖺᘎᕊ

0
我之前看到的是“支持150个设备”,然后通过将我的minSdkVersion从28降低到24来更改了这一点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接