應(yīng)用過濾與多APK

2018-02-25 14:09 更新

應(yīng)用過濾與多APK

小米應(yīng)用商店支持GooglePlay的應(yīng)用過濾與MultipleAPK(多APK)規(guī)則,按照符合Google規(guī)范開發(fā)的Android的應(yīng)用,可以分發(fā)給合適的用戶,避免無法支持的設(shè)備下載到您的應(yīng)用,影響應(yīng)用口碑與評分。

應(yīng)用商店的過濾

隨著MIUI支持的設(shè)備越來越多,您也許會開發(fā)僅支持部分設(shè)備的應(yīng)用,比如僅支持Android4.0以上系統(tǒng),或者僅支持高通的GPU。應(yīng)用過濾可以滿足這方面的需求,保證您的應(yīng)用在合適的設(shè)備上展示和分發(fā)。 目前,小米應(yīng)用商店支持基于Manifest文件內(nèi)容的的過濾項如下: (您可以點擊鏈接查看Google官方的文檔)

supports-screens——屏幕尺寸
supports-screens項聲明了您的應(yīng)用支持的屏幕尺寸等信息,如無特殊需求,可以無需指定,默認支持各種尺寸的設(shè)備。小米、紅米系列手機均為normal尺寸

compatible-screens——兼容屏幕類型  
【Google官方建議: 正常情況下,您不需要使用本項目】compatible-screens項可以詳細聲明應(yīng)用兼容屏幕的尺寸、像素密度,考慮到Android設(shè)備分裂比較嚴重,除非您明確的了解本項目,請不要使用本項目,錯誤的聲明了本項目,可能導致大量的用戶無法下載您的應(yīng)用。

uses-sdk——Android系統(tǒng)版本
uses-sdk項聲明了您的應(yīng)用支持的API Level系統(tǒng)版本。您可以用android:minSdkVersion聲明支持的最低系統(tǒng)版本。同時Google官方建議不要聲明android:maxSdkVersion,該屬性可能導致使用未來發(fā)布的Android系統(tǒng)的用戶無法下載您的應(yīng)用。您可以在這里找到Android版本號和API Level的對照關(guān)系

supports-gl-texture——OpenGL紋理壓縮
如果您需要支持高通、英偉達等不同GPU的OpenGL紋理壓縮,需要聲明此項。詳情請查看Google官方文檔

基于上述4項元素,您可以自由的指定應(yīng)用支持的設(shè)備類型。不過對于絕大多數(shù)應(yīng)用開發(fā)者來說,可能僅需要聲明uses-sdk項即可。添加較多的限制可能會導致用戶無法看到、下載您的應(yīng)用

如下是一些錯誤實例,請勿模仿:

  • 聲明了maxSdkVersion為14,意味著使用Android 4.0.3以后的版本的用戶將無法看到您的應(yīng)用。

  • 聲明了supports-gl-texture為GL_EXT_texture_compression_dxt1,意味著僅Tagra芯片的手機能看到您的應(yīng)用,比如小米手機3 TD版。

  • 僅聲明了compatible-screens為screenSize=”small” screenDensity=”xhdpi”,意味著幾乎沒有人能看到您的應(yīng)用,因為這條聲明要求屏幕尺寸小于3寸,且像素密度大于320,不存在這種設(shè)備。

多APK支持 - Multiple APK

Google官方強烈建議用一個APK支持全部機型和版本的設(shè)備,但是在實際開發(fā)過程中,開發(fā)者因為APK包尺寸、系統(tǒng)支持等原因,需要為不同的設(shè)備提供不同的APK包。為了滿足這一需求,Google設(shè)計了Multiple APK機制,通過多APK機制,可以實現(xiàn)以下功能:

  • 通過多APK機制,開發(fā)者可以發(fā)布多個同一package name的APK包

  • 每個APK可以支持不同的Android系統(tǒng)版本: < uses-sdk >

  • 每個APK可以支持不同的OpenGL紋理壓縮: < supports-gl-texture>

  • 每個APK可以支持不同的屏幕尺寸: < supports-screens>和< compatible-screens>

多APK發(fā)布會增加后續(xù)開發(fā)者維護的成本,因此強烈建議用一個APK支持全部機型。僅當您的APK因為不同尺寸的資源文件而過大時考慮采用多APK機制。

如果您確定要使用多APK機制,請務(wù)必仔細閱讀這篇文章。其中會提到一些重點注意事項:

  • 如果您使用關(guān)于屏幕尺寸的項目,請盡量不要同時引入< supports-screens>和< compatible-screens>,這兩個項目中的定義可能會沖突。如果沖突,我們會優(yōu)先采用不支持的結(jié)果,可能導致大量用戶無法看到您的應(yīng)用

  • 如果您使用關(guān)于API Level,請務(wù)必規(guī)劃好VersionCode,并確保多個APK的VersionCode符合這一規(guī)則:支持更高版本系統(tǒng)的APK,有更高的VersionCode,這一設(shè)計是為了保證用戶升級之后仍然可以獲得應(yīng)用的新版本。關(guān)于版本管理,請參考這篇文章

  • 多APK必須是同一個包名、同一個簽名、不同的VersionCode

在規(guī)劃中,未來我們會支持基于上述多APK機制,目前已經(jīng)實現(xiàn)支持基于< uses-sdk>的多APK。您可以在發(fā)布應(yīng)用的時候,選擇發(fā)布多APK應(yīng)用,完成發(fā)布。

關(guān)于應(yīng)用過濾與多APK支持,Google官方主要提供了以下文檔:

Filters on Google Play: http://developer.android.com/google/play/filters.html

Multiple APK Support: http://developer.android.com/google/play/publishing/multiple-apks.html

Android Compatibility: http://developer.android.com/guide/practices/compatibility.html

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號