Android应用无法从Play商店下载到平板电脑上

时间:2014-08-06 15:06:12

标签: android android-manifest tablet google-play

我在Play商店有我的应用程序的alpha原型。出于某种原因,使用平板电脑的用户无法下载应用程序 - 他们会收到消息“您的设备与此版本不兼容”。我没有机会测试多个平板电脑,但我知道这对Nexus 7来说肯定是一个问题。

如果我通过开发人员的控制台查看设备兼容,我发现Nexus 7等平板电脑被列为兼容(并且没有列出任何设备)。

我还确保无法下载应用程序的平板电脑具有最新的操作系统,因此不会因操作系统不兼容而不兼容。

是否有人知道阻止平板电脑下载我的应用可能会出现什么问题?

我已将我的清单包括在内,以备有用。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.activities"
    android:installLocation="auto"
    android:versionCode="1"
    android:versionName="1.0"
    android:windowSoftInputMode="adjustPan" >

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CACHE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />

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

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:hardwareAccelerated="true"
        android:icon="@drawable/test_logo"
        android:label="@string/app_name"
        android:theme="@style/SampleTheme.Light" >
        <activity
            android:name="com.test.activities.LoginActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        ...
    </application>

</manifest>

作为一个附带问题,我有兴趣了解如何在您将新APK上传到Play商店之前查看设备是否与您的应用兼容。我从未在设备上直接测试应用程序,所以我很惊讶地发现它在Play商店中被列为不兼容。

4 个答案:

答案 0 :(得分:2)

我认为这是因为<uses-feature android:name="android.hardware.camera.autofocus" />(假设Nexus 7没有自动对焦功能)。您可以添加android:required="false",以便该应用可供不具备自动对焦功能的设备使用。

答案 1 :(得分:1)

  

有谁知道阻止平板电脑下载我的应用可能会出现什么问题?

RECORD_AUDIO requires that the device have a microphone,并非所有平板电脑都配有麦克风。

此外,请删除<uses-permission android:name="android.permission.CACHE" />,因为Android中没有此类权限。

答案 2 :(得分:1)

如官方Tablet App Quality guide所述:

  

在您的应用清单中,找到所有<uses-feature>元素。特别是,请查看某些平板电脑可能无法使用的硬件功能,例如:

     
      
  • android.hardware.telephony
  •   
  • android.hardware.camera(指后置摄像头)或
  •   
  • android.hardware.camera.front
  •   

所以,你必须更换这两行:

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

这一个:

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

&安培;当然,通过此检查处理相机功能在设备中不存在的情况下处理:

if (Camera.getNumberOfCameras() > 0){
    // device has camera, it is safe to use it here
}

答案 3 :(得分:0)

我不知道确切的答案,但我知道Play会根据这些数字确定支持的设备列表:

android:minSdkVersion="11"
        android:targetSdkVersion="19"

它们应尽可能地低,以便您的代码能够正常工作。数字越小,兼容性列表就越长。

之后,所需权限列表会产生很大的不同。因为某些设备不具备所需的功能。所以你也必须交叉引用该列表。