[英]set max sdk version on build.gradle
如何在 android studio 的 build.gradle 上設置 android max sdk 版本。
我想做一個有兩種風格的應用程序,第一個將在 x~y 版本之間運行,第二個在 y+ 版本運行
在 Eclipse 之前,在 AndroidManifest.xml 我們有android:maxSdkVersion="y"
但它如何在 gradle 上工作?
您不能在maxSdkVersion
中設置maxSdkVersion。 實際上,由於幾個問題,Google不鼓勵這樣做。 主要問題是,如果系統不符合應用程序中指定的maxSdkVersion
,Google Play可能會決定在更新過程中從用戶設備中刪除該應用程序。 例如,假設您有一台具有API級別12的設備,並安裝了一個具有android:maxSdkVersion="12"
,則稍后您會收到系統更新,該更新會將您的android版本升級到API級別13 ... Google Play將卸載您的應用程式。
基本上,您不需要此設置,可以輕松地忽略它,使用targetSDkVersion
屬性和minSdkVersion
。
minSdkversion
”的“處於風味1”的應用,將minSdkversion
設置為x,將targetSdkVersion
為y 請注意這一點。
未來的Android版本(Android 2.0.1以后的版本)將在安裝或重新驗證期間不再檢查或強制執行maxSdkVersion屬性。 但是,當向用戶展示可下載的應用程序時,Google Play將繼續使用該屬性作為過濾器。
https://developer.android.com/guide/topics/manifest/uses-sdk-element.html
我認為接受的答案是不正確的。 接受的答案說無法設置 maxSdkVersion - 這是不正確的。 仍然可以設置 android:maxSdkVersion 如此處所述https://developer.android.com/guide/topics/manifest/uses-sdk-element但開發人員必須注意警告並且應該理解為什么要這樣做。 這里沒有人會注意在 Play 商店中您可以一次提供多個捆綁包/包(每次更新/發布),一個捆綁包可以針對新設備,另一個針對舊設備,因此 maxSdkVersion 的第二個限制很好。 一個應用程序包具有版本代碼,例如 2xyz,對於舊設備,版本代碼為 1xyz,當 minSdkVersion 允許時,谷歌總是安裝更高的代碼。 所以開發者可以有目的地設置 maxSdkVersion 並且他知道為什么 hi 這樣做。
我們的每個應用程序更新都有 2 個具有不同 app/build.gradle 的包...
對於舊設備(maxSdkVersion 在這里有意義)
defaultConfig {
minSdkVersion 16
maxSdkVersion 23
targetSdkVersion 30
versionCode 1058
versionName "4.4.0"
}
對於新設備(不限制 maxSdkVersion,因為 googole 警告不應該使用)
defaultConfig {
minSdkVersion 24
targetSdkVersion 30
versionCode 2058
versionName "4.4.0"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.