【发布时间】:2013-04-10 14:59:59
【问题描述】:
我正在为 Android 开发游戏,并且由于 Android 设备的性质非常不同(从 Samsung Galaxy Y 到 Google Nexus 10),我决定使用 Google Play 的“多 APK”功能。我决定创建 4 个不同的包,每个包都有不同大小的资产。
其中最小的只有大约 10 兆字节,图形资源缩小到 240p(以节省 Galaxy Y 上非常有限的内存),而最大的资源接近 50 兆字节,资源缩放到约 1500p 以提供清晰的图形Nexus 10。
我使用<compatible-screens> 将每个版本过滤到不同的设备。我正在使用 screenSizes small、normal、large 和 xlarge,以及 screenDensities ldpi、mdpi、hdpi 和 xhdpi。
我将此处提到的每个 screenSize-screenDensity 组合包含在四个 APK 之一中。 问题是Google NEXUS 7 不属于这些!它使用
<screen android:screenSize="large" android:screenDensity="213" />
现在,手动将这些添加到四个 APK 之一很容易,但真正的问题是……我是否必须按照 Google 决定继续添加这些看似任意的屏幕密度类别的速度来更新我的 APK?或者我*有更好的过滤 APK 的方法吗?*
Android API 文档建议改用<supports-screens>,但它提到它并没有真正将它用于过滤器。
【问题讨论】:
-
“按照 Google 决定继续添加这些看似随意的屏幕密度类别的速度?” -- 考虑到自 2009 年最初的设置以来,他们平均每年不到一个,希望这对您来说不是太快。
-
Nexus 7 是
tvdpi,你试过在<compatible-screens>声明中使用它吗?我注意到文档没有列出它......但值得一试 -
嗯,事实证明 HTC One、Galaxy S 4 和 Experia Z 是 xxhdpi,而我的游戏无法在这些设备上使用,因为 Google API 文档中没有提到 xxhdpi。 :|
标签: android google-play nexus-7 multiple-apk