我在Google的Play商店发布了一款应用。一切正常,但我的一位客户报告该应用与他的设备不兼容。 该设备是三星Galaxy Note(GT-N7000),运行Android 2.3.6。
我在AndroidManifest中使用以下<compatible-screens>
配置:
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<screen android:screenSize="small" android:screenDensity="480" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<screen android:screenSize="normal" android:screenDensity="480" />
</compatible-screens>
我不包括large
屏幕尺寸的原因是因为该应用与平板电脑不兼容,而且工作正常(不想改变这种情况)。
奇怪的是我自己有一台GT-N7000,运行Android 4.0.3并且该应用程序兼容此设备。同事拥有Note 3,也可以通过Play商店安装该应用程序。
谷歌播放告诉我该应用程序与任何Galaxy Note兼容(Note 8 + Note 10.1除外,因为它们被认为是平板电脑所需的。)
有没有人经历过这样的事情?
答案 0 :(得分:1)
因为您已声明它适用于您的4.3固件但在2.3.6上不兼容,这表明问题是固件。
我相信问题是在你的布局文件夹中解决的 包含您的xml文件。较旧版本的android(3.2以下的任何东西)只能访问布局 从“布局 - 小,布局 - 正常,布局 - 大,和 layout-xlarge“。我假设你没有提供或使用过那些 文件夹,以支持较旧的固件版本,并最有可能使用 文件夹,例如“layout-sw600dp和layout-sw720dp”。在你的 情况,我会创建那些布局文件夹来添加支持 较旧的固件版本。
一组四个通用尺寸:小,普通,大和xlarge
注意:从 Android 3.2(API级别13)开始,不推荐使用这些尺寸组,而采用了一种基于可用屏幕宽度管理屏幕尺寸的新技术。如果您正在为Android 3.2及更高版本开发,请参阅为Android 3.2声明平板电脑布局以获取更多信息。 一组四个广义密度:ldpi(低),mdpi(中),hdpi(高)和xhdpi(超高)
详细了解如何支持多个屏幕here。
可以找到有关权重的更多信息here。
第三件事是研究支持屏幕的用法。我查看了 平板电脑,最小宽度为600dp及以上。
在您的情况下,我会设置maximumWidthLimitDp =“599”,在这种情况下,dp高于599的任何内容都被定义为平板电脑将无法在Play商店下载。
原因是API 4中引入了支持屏幕,而api 9中引入了兼容屏幕,因此它将提供更广泛的固件支持。
您可以在此处参考更多:support screens
答案 1 :(得分:0)
我认为银河系音符在ICS之前被认为是“大”,现在它被认为是“正常的”。
原因:
星系记录设备是800x1280像素并且具有hdpi密度,所以它是~533dp x~583dp。
屏幕尺寸桶是:
xlarge屏幕至少为960dp x 720dp
大屏幕至少为640dp x 480dp
正常屏幕至少为470dp x 320dp
小屏幕至少为426dp x 320dp
所以,由于它没有通过“大”的要求,它变成了“正常”的屏幕尺寸。
documentation也表示在较旧的Android版本上存在问题:
注意:这些最小屏幕尺寸在之前没有明确定义 Android 3.0,因此您可能会遇到一些错误分类的设备 正常和大的之间。这些也是基于物理的 屏幕的分辨率,因此可能因设备而异 - 例如a 带有系统栏的1024x720平板电脑实际上有更少的空间 由于系统栏使用它,因此可供应用程序使用。