2013-02-20 73 views
2

有一个应用程序无法在特定设备上进行修改。我有这样的的Manifest.xml:应用程序与Android设备的兼容性

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

而且它适用于HTC轰动的Android 4.0,但由于某种原因它不与三星Galaxy平板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> 
+0

您是否要求清单中的硬件功能或屏幕尺寸 – Henry 2013-02-20 09:02:17

+0

@亨利,不,我不这么认为。谢谢你的评论。我在问题的最后添加了整个清单文件。 – Ali 2013-02-20 09:09:10

回答

3

某些权限隐含添加对硬件的要求。例如the docu对于CAMERA说:

这将自动执行所有相机功能的清单元素。如果您不需要所有相机功能,或者在相机不可用时无法正常操作,则必须根据需要修改清单,以便安装在不支持所有相机功能的设备上。

如果你并不需要所有,增加明确uses-feature元素与android:required="false"

+0

是的,将这个添加到我的清单包括660个更多设备的兼容性列表 jcesarmobile 2014-02-12 14:10:57

0

试举一个运气在清单下面,如果不按照你的标准被添加

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

改变它

0

最有可能的是,正在创建一个过滤器,这使得市场中删除某些片的权限。

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

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