1

我正在开发一个仅适用于高端设备的应用程序。它已经只支持 API 17+,但我注意到一些运行 API 17 的旧设备,我想排除这些设备。我的问题是:

过滤掉仍然运行相对较新 Android 版本的旧设备的最佳方法是什么?

我想避免在 Google Play 中手动排除特定设备。

根据屏幕密度进行过滤
我当然想做的一件事是根据屏幕密度进行过滤(我只想支持 hdpi 和更高版本)。我已经阅读了compatible-screens文章,但我不太喜欢那里提供的解决方案,因为:

  1. 根据文章:“你应该只在万不得已的情况下使用它,当应用程序绝对不能使用特定的屏幕配置时。”
  2. 我将在我的清单中获得大量组合列表(如果我支持 hdpi、xhdpi、xxhdpi 和 xxxhdpi 以及中等、大和 xlarge 的屏幕尺寸,我已经有 12 种组合)。
  3. 如果添加了新的屏幕密度(例如 xxxhdpi)或新的屏幕尺寸(例如 xxlarge)会怎样?为了支持这些,我必须在每次添加新存储桶时更新我的​​清单。

对我来说似乎很奇怪,我不能只在清单中的一行中指定我想支持 hdpi 和更高版本。

基于设备功能的过滤
我也考虑过过滤一些只有高端设备才有的功能,所以我阅读了使用功能文章。但是,似乎我只能过滤蓝牙、相机和 wi-fi 之类的东西,而不能过滤任何更能代表硬件加速等高端设备的东西。

4

1 回答 1

1

您无法使用AndroidManifest.xml文件本身过滤掉特定设备,除了屏幕尺寸/密度等。如果您需要过滤掉特定供应商的特定手机/平板电脑,那么将无法使用仅清单文件。

“过滤掉仍然运行相对较新 Android 版本的旧设备的最佳方法是什么?”

解决方案:Google Play 开发者控制台中有一些选项,您可以通过这些选项根据您发布的特定应用的供应商和型号过滤特定设备(手机/平板电脑/型号等)。

为此,请转到您应用的APK部分:

在此处输入图像描述

现在单击查看列表管理排除的设备,使用非常简单且不言自明。这个节目展示了这样的东西:

在此处输入图像描述

现在您需要做的只是单击在此处输入图像描述按钮,它将被添加到Excluded Devices中。

希望能帮助到你:)

于 2015-01-15T10:47:30.477 回答