Android清单:某些设备不受支持?

问题描述:

我在Android电子市场上有一个应用程序,应该可以运行在所有类型> = Android 1.5上。当测试这似乎工作,但我从受挫的报告将是用户,由于兼容性问题,他们不允许安装它。其中两款是运行Android 2.1和HTC Wildfire的HTC Hero(版本未知)。Android清单:某些设备不受支持?

我的整个清单都在下面(因为我不知道什么是错的,我可能会删除一些重要的东西) - 就我所见,这是Android电子市场寻求兼容性信息的唯一方法。我以某种方式排除某些设备?

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" android:debuggable="true"> 
    <activity android:name=".ShowStreams" android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"></action> 
      <category android:name="android.intent.category.LAUNCHER"></category> 
     </intent-filter> 
    </activity> 

    <activity android:name=".menu.Settings" /> 
    <activity android:name=".ClearCache"></activity> 
    <activity android:name=".settings.ManageFeeds"></activity> 
    <activity android:name=".settings.DirectoryBrowser"></activity> 
    <activity android:name=".settings.SourceSelector"></activity> 
    <activity android:name=".settings.FlickrBrowser"></activity> 
    <activity android:name=".settings.PicasaBrowser"></activity> 
    <activity android:name=".parser.facebook.FacebookAuth"> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="floatingimage"/> 
     </intent-filter> 
    </activity> 
    <activity android:name=".settings.FacebookBrowser"> 
    </activity> 
    <activity android:name=".parser.facebook.WebAuth"></activity> 
    <activity android:name=".parser.facebook.FacebookAlbumBrowser"></activity> 
    <activity android:name=".parser.facebook.FacebookFriendsBrowser"></activity> 
    <activity android:name=".parser.facebook.FacebookFriendView"></activity> 
    <activity android:name=".flickr.WebAuth"></activity> 
    <activity android:name=".parser.flickr.FlickrAlbumBrowser"></activity> 
    <activity android:name=".parser.picasa.PicasaWebAuth"></activity> 
    <activity android:name=".parser.picasa.PicasaAlbumBrowser"></activity> 
    <activity android:name=".parser.picasa.PicasaUserView"></activity> 
    <activity android:name=".settings.About" android:theme="@android:style/Theme.Dialog"></activity> 
    <activity android:name=".menu.WallpaperSettings" android:exported="true" /> 
    <activity android:name=".menu.ApplicationFeedManagerLauncher"></activity> 
    <activity android:name=".menu.WallpaperFeedManagerLauncher"></activity> 

    <service android:name="Wallpaper" 
      android:label="Floating Image" 
      android:permission="android.permission.BIND_WALLPAPER"> 
      <intent-filter> 
       <action android:name="android.service.wallpaper.WallpaperService" /> 
      </intent-filter> 
      <meta-data android:name="android.service.wallpaper" android:resource="@xml/wallpaper" /> 
    </service> 
</application> 

<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" /> 
<uses-permission android:name="android.permission.VIBRATE"></uses-permission> 
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> 
<uses-permission android:name="android.permission.SET_WALLPAPER"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission> 
<uses-permission android:name="android.permission.BIND_WALLPAPER"></uses-permission> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-feature android:name="android.software.live_wallpaper" /> 

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

经过一番研究,并要求在#Android的开发,我发现这个问题是与线:

<uses-feature android:name="android.software.live_wallpaper" /> 

这显然是为应用程序硬性要求,而不是动态壁纸功能所必需的。

+0

“硬要求”是什么意思?我有同样的问题。我有''我的测试人员无法安装。我将其更改为“false”,现在他们可以安装,但它崩溃。 – trans 2016-10-28 01:34:51

+0

这意味着应用程序需要此功能才能使其正常工作。如果它不存在,Android会阻止安装。现在,如果您的应用还执行其他操作,而动态壁纸只是次要功能,则不需要使用此标记。不知道为什么它会失败的新机器人虽然... – 2016-11-02 08:02:36

相信的限制因素可能是以下权限:

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

根据在android文档以下页面,这是在API级别推出8.是否对于在api级别7运行sdk的设备,可能会过滤掉不受支持的权限?

http://developer.android.com/reference/android/Manifest.permission.html#BIND_WALLPAPER