鍍金池/ 問(wèn)答/Android/ 我還是不懂compile、Target與MInSdkVersion

我還是不懂compile、Target與MInSdkVersion

說(shuō)來(lái)慚愧,干了兩年Android這三個(gè)還是分不太清,看了幾篇文章之后也有點(diǎn)拿不準(zhǔn)

我出一道題:
假設(shè)Api level 23中的onCreate方法中有一個(gè)語(yǔ)句print("a");
假設(shè)Api level 24中的onCreate把這個(gè)語(yǔ)句改成了print("b");
假設(shè)Api level 25中的onCreate把這個(gè)語(yǔ)句改成了print("c");

那么我的一個(gè)Target version為24,compile version為25的APK,運(yùn)行在版本為23的手機(jī)上,onCreate方法會(huì)輸出哪個(gè)呢?

先謝謝大家

回答
編輯回答
哎呦喂

傳送門:

  1. 如何選擇 compileSdkVersion, minSdkVersion 和 targetSdkVersion
  2. Android targetSdkVersion 原理

p.s. 第2篇文章舉例講得很清楚。
p.p.s. 題主的舉例,對(duì)于targetSdkVersion來(lái)說(shuō)是不合適的,系統(tǒng)版本為23的設(shè)備,怎么也不會(huì)跑出24或者25的結(jié)果的(系統(tǒng)是基于23的代碼編譯出來(lái)的,系統(tǒng)運(yùn)行也當(dāng)然是按照23的代碼來(lái)運(yùn)行)。提問(wèn)應(yīng)該為:compileSdkVersion=25,targetSdkVersion=23,運(yùn)行在24的設(shè)備上是什么結(jié)果?

2018年2月27日 17:58
編輯回答
大濕胸

應(yīng)當(dāng)是print("a") ,Api level 24,Api level 25只是表示說(shuō)對(duì)上最大能支持到這么多,具體運(yùn)行還是要以實(shí)際情況為準(zhǔn),就和Android圖片適配的文件夾一樣

2017年2月20日 02:28