在定義的時候,一時搞不清楚他們之間的差別,所以花了點時間查一下官方網站以及其他程式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即可。