簡體   English   中英

由於minSdkVersion,無法在Android項目中使用新方法

[英]Can't use new methods in the Android project due to minSdkVersion

我想支持API級別14+設備,因此我的android項目的minSdkVersion現在為“ 14”。

但是,即使我將這些代碼放入if語句中,也無法調用較新的方法。

if (Build.VERSION.SDK_INT >= 18) {
    // new method calls
    Log.i("MY_APP", "Total: " + new StatFs("/sdcard").getTotalBytes());
} else {
    // deprecated method calls
}

AndroidManifest.xml中的<uses-sdk/>標簽是這個。

<uses-sdk
   android:minSdkVersion="14"
   android:targetSdkVersion="21" />

錯誤消息是這樣的。

調用需要API級別18(當前最小值為14):android.os.StatFs#getTotalBytes

為了編譯該項目,我必須更改minSdkVersion屬性

但這根本沒有幫助,因為我失去了對舊設備的支持。

我也嘗試過調整targetSdkVersion ,但這是行不通的。

如何在不更改minSdkVersion的情況下編譯項目?

我是否只需要使用不贊成使用的方法?

是否有可能很快刪除不贊成使用的方法?

PS。 我正在使用eclipse,但現在不使用Android Studio。

修改gradle文件,使其看起來像這樣:

android {
    compileSdkVersion 23 // for example
    // other stuff...

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        //...
    }
    //...
}

將targetSdkVersion設置為已測試應用程序的最高API。 保持targetSdkVersion和compileSdkVersion相同。

編輯:

好的,所以您說您正在使用Eclipse(請將其更改為Android Studio!:)),以便可以在AndroidManifest.xml中使用它們:

<uses-sdk 
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM