0

我的应用程序不支持大约 2000 台设备。什么是问题?gradle 和 manifest 文件是否适合支持设备。例如 HTC Desire 310 和 HTC Wildfire 不支持我的应用程序。

毕业典礼

   minSdkVersion 10
    targetSdkVersion 22  

清单.xml

  <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />

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

2 回答 2

3

使用<uses-feature>&<supports-screens>在 google play 上启用更多设备。

<uses-feature>声明是为了通知任何外部实体你的应用程序所依赖的硬件和软件特性集。该元素提供了一个 required 属性,可让您指定应用程序是否需要并且在没有声明的功能的情况下无法运行,或者它是否更喜欢拥有该功能但可以在没有它的情况下运行。阅读更多

确保用户这两个属性取决于您的应用程序要求,例如您的应用程序是否使用相机但它不是必须要求然后使用

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

<supports-screens>如果应用程序正确调整大小以填满整个屏幕,则应用程序“支持”给定的屏幕大小。系统应用的正常大小调整适用于大多数应用程序,您无需做任何额外的工作即可使您的应用程序在比手机设备更大的屏幕上工作。确保根据您的要求使用两者。阅读更多

支持手机屏幕元素

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

android:requiresSmallestWidthDp="720"如果您的应用支持平板电脑,请添加上述代码

于 2016-01-05T10:00:06.730 回答
1

设备无法在 google play 中下载应用程序的原因有很多。其中一些是:

  • 设备不满足 gradle 中指定的最小 sdk。
  • 您的清单中有一个<uses-feature>标签,并且您将“必需”参数设置为 true。如果设备不具备所需的功能(例如 NFC),则设备将无法使用该应用程序。

除了这些,可能还有其他原因。您不妨检查一下是否在 manifest 和 gradle 中都指定了最小 sdk,如果是这种情况,android 将忽略 manifest 中声明的那个。

于 2016-01-05T10:06:30.873 回答