2013-04-10 104 views
1

我开发游戏的Android,因为非常不同的Android设备的性质(从Samsung Galaxy YGoogle Nexus 10)我已经决定使用“多重APK”谷歌的-feature播放。我决定创建4个不同的软件包,每个软件包的资产规模都不一样。瞄准多个设备与多个APK

其中最小的只有10兆字节,图形资产缩小到240p(为了节省Galaxy Y上非常有限的内存),而最大的是几乎50兆字节,资产缩放到〜1500p以提供清晰的图形于Nexus 10.

我使用<compatible-screens>来过滤每个版本到不同的设备。我正在使用screenSizes small,normal,largexlarge,以及screenDensities ldpi,mdpi,hdpixhdpi

我这里提到的每个屏幕尺寸,screenDensity组合涵盖四个APK之一。 问题Google NEXUS 7不属于任何这些!它采用

<screen android:screenSize="large" android:screenDensity="213" />

现在,很容易手动添加这些到四个的APK之一,但真正的问题是...我必须保持在谷歌的步伐决定继续将更新我的APK这些看似任意的屏幕密度类别?或者我* 有更好的方法来过滤APK? *

Android API文档建议使用<supports-screens>来代替,但它提到它并未真正将其用于过滤器。

+1

“的步伐谷歌决定继续将这些看似随意的屏幕密度类别?” - 考虑到自2009年以来平均每年平均不到一次,人们希望这不会让你步伐太快。 – CommonsWare 2013-04-10 15:08:09

+0

Nexus 7是'tvdpi',你有没有试过在''声明中使用它?我注意到该文档不列出它......但值得一试 – 2013-04-10 15:10:00

+0

嗯,事实证明的HTC One,Galaxy S的4和Experia还Z为xxhdpi,因为xxhdpi WASN”我的游戏并没有提供给这些设备在Google API文档中提到。 :| – Habba 2013-05-06 09:06:46

回答

1

在我看来,像你应该过滤你的小和正常的APK您当前所在的方式,但所描述的here筛选大XLARGE的APK。这似乎是Google在这种情况下推荐的。