诊断应用程序显示为"不兼容的原因"在设备上,但是"支持"在Play商店控制台

时间:2017-12-13 10:20:46

标签: android mobile google-play software-distribution

我的公司在Play商店中有一个应用程序,旨在与手机兼容,但明确排除平板电脑支持。

该应用程序可以在所有现代手机上正常安装,但在某些三星S8(SM-G950F)上,在设备上的Play商店应用中,它显示为"不兼容&# 34。

检查网络上的Play商店控制台,此设备的所有版本都列为"兼容"。

我应该通过哪个流程来确定应用无法在设备上安装的根本原因?

一位用户报告安装了Play商店应用更新清除了该问题,但另一位用户遇到了问题,但没有Play商店应用更新可用。

AndroidManifest.xml包含以下内容:

<compatible-screens>
    <!-- all small size screens -->
    <screen android:screenSize="small" android:screenDensity="ldpi" />
    <!-- 120 -->
    <screen android:screenSize="small" android:screenDensity="mdpi" />
    <!-- 160 -->
    <screen android:screenSize="small" android:screenDensity="hdpi" />
    <!-- 240 -->
    <screen android:screenSize="small" android:screenDensity="280" />
    <!-- Workaround -->
    <screen android:screenSize="small" android:screenDensity="xhdpi" />
    <!-- 320 -->
    <screen android:screenSize="small" android:screenDensity="360" />
    <!-- Workaround -->
    <screen android:screenSize="small" android:screenDensity="420" />
    <!-- Workaround Google Pixel, Nexus 5x -->
    <screen android:screenSize="small" android:screenDensity="xxhdpi" />
    <!-- 480 -->
    <screen android:screenSize="small" android:screenDensity="560" />
    <!-- Workaround Google Pixel XL, Nexus 6, Nexus 6P -->
    <screen android:screenSize="small" android:screenDensity="xxxhdpi" />
    <!-- 640 -->
    <!-- all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <!-- 120 -->
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <!-- 160 -->
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <!-- 240 -->
    <screen android:screenSize="normal" android:screenDensity="280" />
    <!-- Workaround -->
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    <!-- 320 -->
    <screen android:screenSize="normal" android:screenDensity="360" />
    <!-- Workaround -->
    <screen android:screenSize="normal" android:screenDensity="420" />
    <!-- Workaround Google Pixel, Nexus 5x -->
    <screen android:screenSize="normal" android:screenDensity="xxhdpi" />
    <!-- 480 -->
    <screen android:screenSize="normal" android:screenDensity="560" />
    <!-- Workaround Google Pixel XL, Nexus 6, Nexus 6P -->
    <screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
    <!-- 640 -->
</compatible-screens>

但是,我认为在这一点上,我已经排除了这一点,因为S8应该由<screen android:screenSize="normal" android:screenDensity="xxxhdpi" />覆盖

设备屏幕截图显示为&#34;支持&#34;在Play商店控制台中:enter image description here

所有S8型号摘要的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:1)

您正在经历目前可用的最佳流程,以便找到根本原因。

对于你的根本问题,我可以给出一些建议:

您应该考虑为什么要真正排除平板电脑支持。这完全是您的商业决策,但完全违背了Android的理念。电话&#34;没有明确的定义。或&#34;平板电脑&#34;。怎么样&#34; phablets&#34;? Android电视怎么样? Chromebook怎么样? Phones停靠在电脑显示器上怎么样?那些我们还没想过的新设备呢?

考虑这个问题的有用方法是&#34;平板电脑是什么意思我们不想针对它们?&#34;

  • 如果他们通常不拨打电话,则需要使用功能android.hardware.telephony并接受您允许拨打电话的平板电脑的事实。这样就行了,因为您的业务决策是基于打电话的能力。
  • 如果他们有大屏幕,那么使用屏幕尺寸作为定位。排除大屏幕手机就行了,因为商业原因是大屏幕。

但是说&#34;我们不想定位平板电脑&#34;没有一个很好的技术理由,你不想支持的平板电脑可能是一个错误,因为没有技术定义&#34;平板电脑&#34;你可能还没有想到过1000种奇怪而精彩的Android设备。

关于您在三星上的具体问题,现代三星手机具有以下功能:您可以通过屏幕缩放动态更改屏幕尺寸和密度。任何依赖屏幕密度/大小来定位这些设备的东西现在都不能依赖,这就是为什么你可能会与不同的用户产生不一致的结果。