2013-01-23 52 views
9

我目前在Google Play過濾中遇到問題,並且在API級別16中引入了新密度類xxhpdi。 我的應用分爲3個APK文件(我知道這不是最佳實踐,但由於計劃不周,我現在必須這樣做)。有趣的部分是Android 4.0的版本,僅適用於智能手機。 我在AndroidManifest.xml中設置過濾器的市場是這樣的:Android - Google Play過濾掉xxhdpi

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17"/> 
<compatible-screens> 
    <screen android:screenDensity="ldpi" android:screenSize="small"/> 
    <screen android:screenDensity="mdpi" android:screenSize="small"/> 
    <screen android:screenDensity="hdpi" android:screenSize="small"/> 
    <screen android:screenDensity="xhdpi" android:screenSize="small"/> 

    <screen android:screenDensity="ldpi" android:screenSize="normal"/> 
    <screen android:screenDensity="mdpi" android:screenSize="normal"/> 
    <screen android:screenDensity="hdpi" android:screenSize="normal"/> 
    <screen android:screenDensity="xhdpi" android:screenSize="normal"/> 
</compatible-screens> 

的問題是現在,隨着1080的屏幕像宏達電Droid DNA無法看到或安裝我的應用程序,因爲我沒有指定新設備它也支持xxhdpi屏幕。問題是,因爲我把我的minSdkVersion到API等級14,這就是Android ICS,我不能簡單地添加一行:

<screen android:screenDensity="xxhdpi" android:screenSize="normal"/> 

這是因爲API級別14不知道xxhdpi類。有沒有解決我的問題,而不必創建第四個獨立的APK文件?

謝謝。

+0

要引用*警告:通常情況下,您不應該使用此清單元素。使用此元素可以顯着減少應用程序的潛在用戶羣,因爲如果用戶沒有列出屏幕配置的設備,則不允許用戶安裝應用程序。您應該僅將它作爲最後的手段*從[Developer's SDK](http://developer.android.com/guide/topics/manifest/compatible-screens-element.html) – t0mm13b

+0

xxhdpi僅在JB向上AFAICT中總之,不幸的是你運氣不好。我認爲最簡單的方法就是重建目標JB,也就是API 20或21,然後它應該這樣做。 – t0mm13b

+0

Helle,謝謝你的回答。該應用程序已經針對JB MR1,因爲這是API級別17. API級別14是Android 4.0。 – NiThDi

回答

24

我找到了解決辦法:不要加入

<screen android:screenDensity="xxhdpi" android:screenSize="normal"/> 

線兼容屏部分的,好像數值工作,以及:

<screen android:screenDensity="480" android:screenSize="normal"/> 
+0

是的,這與tvdpi和213(與Nexus 7相關)是一樣的,它與您所定位的API無關,這些常量根本沒有。你應該接受你的答案。 – brillenheini

+0

我已經嘗試將480的值代替xxhdpi,並且雖然應用程序符合要求,但當它碰到商店時,它並未顯示爲與Galaxy S4兼容。儘管有來自Android的最新更新,但我仍然無法編譯 - 我收到了上述錯誤。 – djbp

1

似乎有是一個關於這個問題的公開問題:code.google.com/p/android 它很爛,但我想不出一個更好的解決方法。