簡體   English   中英

在 build.gradle 上設置最大 sdk 版本

[英]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

  1. 對於帶有“版本minSdkversion ”的“處於風味1”的應用,將minSdkversion設置為x,將targetSdkVersion為y
  2. 現在,對於“ inflavor 2”應用程序,您需要確保sdk版本不會與“ inflavor 1”應用程序重疊,請將min sdk版本設置為“ z”。 否則,使用api級“ y”設備的用戶將永遠無法在Google Play中看到此應用

請注意這一點。

未來的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM