2015-07-03 54 views
3

我知道這可能是一個簡單的問題,但我整個下午都在Google上搜索並嘗試瞭解如何在我的Android項目中設置build.gradle文件。更新項目到Android M兼容

我正在更新一些API並使其準備好Android M,現在一切正常。不過,我對minSdkversion,targetSdkversion,complieSdkVersion感到困惑。

我目前的設置是

android { 
compileSdkVersion 'android-MNC' //this was 21 
buildToolsVersion "22.0.1" 


defaultConfig { 
    ... 
    minSdkVersion 11 
    targetSdkVersion 'MNC' //this was 21 
    ... 
} 
... 

} 

正如您從註釋中看到,我的應用程序是符合之前的目標API21,現在我爲了覆蓋整個範圍從api11MNC其更改爲MNC

這是我的測試案例,

設備與Android M(API22)--- OK

設備採用Android 5.1.1(API22)---錯誤和FAILED_OLDER_SDK

如果我改變我的設置,以

android { 
compileSdkVersion 21 
buildToolsVersion "22.0.1" 


defaultConfig { 
    ... 
    minSdkVersion 11 
    targetSdkVersion 21 
    ... 
} 

測試用例,

設備與Androi d M(API22)--- OK

設備採用Android 5.1.1(API22)--- OK

設備採用Android 4.3.1(API18)--- OK //這是爲什麼好?

如果帶有API18的設備可以運行符合21的項目,那麼爲什麼Android 5.1.1(API22)無法運行符合MNC的項目?

+0

我可以理解你此時的建議,從11到MNC的覆蓋範圍?我確實已經在我的機器上刷新了自定義ROM,但是對於另一個5.1.1設備,我想知道爲什麼它不在11到MNC範圍內? –

回答

0

現在,由於Android M仍處於開發人員預覽中,因此任何以MNC爲目標的應用程序都只能在具有MNC開發人員預覽的模擬器或設備中運行。