File f = new File(fullPath);
long freeSpace = f.getFreeSpace();
私はAndroidアプリで上記のスニペットを使用しています。私のアプリはsdk-15jarで正常にコンパイルされます。
私がアプリを実行しているAndroid携帯はフローズンヨーグルトです
実行時に次のエラーが発生します
java.lang.NoSuchMethodError: java.io.File.getFreeSpace
getFreeSpace()のドキュメントを調べたところ、API-9以降と表示されています。私はfroyoがAPI-8に準拠していることを理解しているので(そしてそれ以上だと思いますか?)、プラットフォームfroyoでこの関数を呼び出すことはできませんが、APIより上のプラットフォームで呼び出すことはできます。 -8
だから私の質問/あいまいさはこれです
アプリケーションが完全に正常にコンパイルされることを考えると、関数f.getFreeSpace()とその実装は、私が使用しているAPI-15のjarファイルで利用可能であると想定します。アプリがAPI-15のjarファイルでコンパイルされ、jarにgetFreeSpace()が実装されている必要がある場合、Androidがランタイム例外をスローするのはなぜですか?API-15 jarに実装がある場合、プラットフォームFroyo-API-8が問題を引き起こすのはなぜですか。?