targetSdkVersion vs minSdkVersion vs compileSdkVersion


在定義的時候,一時搞不清楚他們之間的差別,所以花了點時間查一下官方網站以及其他程式blog的解說整理如下:
  • minSdkVersion
    • 低於此API level的手機無法執行此App
  • targetSdkVersion
    • 是App最適合執行的API Level,等於宣告該App最適合跑在該版本。如果targetSdkVersion未define,預設等於minSdkVersion。假如手機的API=21,而App定義的targetSdkVersion=17。假設在API=18之後Android會開始強制做某檢查(Ex: JavascriptInterface annotation),因為在開發時(API=17)並沒有此規定,此時手機的向前相容特性會被打開。
  • compileSdkVersion
    • 應always設成目前可得最新的API level(Ex: 23),這樣App才可以用到最新(API=23)的function。而App可以跑在API<23的機器上,只要確保不會跑到大於該手機定義的API level即可。

Leave a comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料