与Android设备兼容的应用程序

3

有一个应用程序无法在特定设备上运行。我在Manifest.xml中有以下内容:

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

它可以在安装有Android 4.0的HTC Sensation上运行,但由于某种原因,它与三星Galaxy Tablet 2 7.0(Android 4)不兼容。

当我在Android市场上传时,也可以看到该平板电脑不受支持。

我无法理解原因,请告诉我为什么?

Manifest.xml:

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

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

    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:icon="@drawable/app_logo"
        android:label="@string/app_name" >
        <uses-library android:name="com.google.android.maps" />

    </application>

</manifest>

你在清单文件中请求硬件特性或屏幕尺寸吗? - Henry
@Henry,不,我不这么认为。感谢您的评论。我在我的问题末尾添加了整个清单文件。 - Ali
3个回答

3
一些权限隐含地对硬件有要求。例如,CAMERA文档中写道:

这将自动强制执行所有相机功能的清单元素。如果您不需要所有相机功能或者可以在没有相机的情况下正确操作,则必须修改清单以适应不支持所有相机功能的设备。

如果您不需要全部功能,请添加显式的uses-feature元素,并使用android:required="false"

是的,将此添加到我的清单中,将660个设备添加到兼容性列表中<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />。 - jcesarmobile

0

很可能是权限问题导致了过滤器,使得市场移除了一些平板电脑。

例如,如果您在清单文件中有PHONE权限,而平板电脑没有电话功能,则它们将不兼容。正如Henry建议的那样,您可以查看uses-featureandroid:required="false"

我建议您仔细检查AndroidManifest.xml并从那里开始。


0

如果还没有添加,请尝试在清单中为以下内容提供运气

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

根据您的标准进行更改


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