2016-04-30 37 views
1

我正要發佈一個應用程序(至少對朋友和家人)。 我的項目API級別是:Android Target API - 如何測試我可以走多低?

minSdkVersion 19 
targetSdkVersion 23 

我聽到這個問題時,很多人都即將開始他們的努力;

我應該針對哪些API級別?

我顯然已經過去了 - 使用19作爲minSdkVersion將適用於我的大多數目標受衆。

我想知道的是這個;我不確定,如果我寫的代碼實際上需要 SDK級別19.我想我可能達到更多的觀衆,而無需修改比minSdkVersion其他任何東西。

不過,我不知道如何來進行測試。我可以簡單地嘗試降低它,直到Gradle拋出構建錯誤?如果應用程序構建,它是否有效?我似乎無法在任何地方找到這些信息。

回答

2

嗯,這完全取決於哪些功能是你打算在你的應用程序。什麼是裸功能,你必須有(做一個詳盡的列表),讓你的應用程序做它應該做的事情。

每個SDK版本發佈了一些額外的功能。其中一些配備了支持庫,即使在某些早期的API級別,該功能也可以使用該功能。

如何測試我怎麼低可以去?

那麼,至少你不能超出你所有的依賴關係允許你去的地方。假設你正在使用一些需要最少11,14和17的庫,那麼你不能低於17.這是一個上限。在這裏你需要照顧支持庫。例如,碎片與11發佈,但使用支持庫,你可以在薑餅和froyo中使用它。所以,帽價值進一步降低!

我該如何得到這個上限值?

理想情況下,開始開發之前。寫下你需要的功能和你需要實現它們的庫/類。找到支持它們的最低api級別。在那裏你有它。現在,由於您已經完成了應用程序,並且您並沒有真正計劃儘可能多地釋放它,所以繼續降低gradle是您可以做的最省時間的事情。

+0

然後我有我的答案;繼續降低SDK級別直到Gradle產生錯誤是安全的。我對此非常懷疑,因爲我得到的錯誤爲'use-sdk:minSdkVersion 8不能小於庫[com.google.android.gms:play-services-location:8.4 .0]'。畢竟從9到19是10個API級別。 – Treeline

+0

它應該工作。不過,首先在API級別9設備上測試應用程序將是明智之舉。 –

+0

所以只是因爲Gradle接受一些較低的API級別,是不是保證它的工作原理是一樣的? – Treeline