2013-04-10 59 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在這種情況下推薦的。