2014-03-13 38 views
0

我已閱讀了Google文檔中關於minSdkVersiontargetSdkVersion的所有內容,但我仍然不完全確定如何正確使用這些內容。Android:minSdkVersion與targetSdkVersion之間的關係

我目前的應用程序有一個8的minSdkVersion和也是8的targetSdkVersion,並且正常工作。

我將我的targetSdkVersion更改爲18,突然有一半應用程序不再按預期運行。即使一些簡單的HTTP請求也不起作用。

從我從閱讀文檔中瞭解到,targetSdkVersion是用於使用特定級別的API的功能,這是正確的嗎?爲什麼簡單的HTTP請求在定位18時無法按預期運行?他們使用不同嗎?

如果有人能夠對這兩個屬性如何工作提供一個簡短的,乾淨的解釋,我將非常感激。另外,如果我將我的目標保持在8,它會在較新的設備上正常工作嗎?

+0

您是否已經正確安裝了'18'的sdk?你是否正確地做了「清潔」和「建造」? –

+0

@RobertRowntree我在另一個測試項目在同一個工作區,目標18,它工作正常。 – PaulG

+0

如果你的環境是好的,嘗試構建測試SDK的'示例API'應用程序... –

回答

4

minSdk是設備應該能夠安裝您的應用的最低api級別。

在您的代碼中,您可以使用自targetSdk或更低版本後可用的所有函數。

例如: 如果您的targetSdk爲14且您的minSdk爲8,並且您希望使用自sdk 11以來可用的方法,則在調用該方法之前,您必須檢查該設備的sdk是否爲11或更高。

如果您使用的函數需要比minSdk更高的api級別,那麼您的代碼將會編譯,但如果函數在低於targetSdk的設備上調用,則它會崩潰。這就是爲什麼在你調用方法或使用類之前你必須檢查它。