5

私が持っているマニフェストで、Android 4.2 (API 17) に対してコンパイルします。

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"/>

私が使用するコードでは:

String first = sdf.format(new   Date(context.getPackageManager().getPackageInfo(context.getPackageName(), 0).firstInstallTime)); 

フィールド firstInstallTime は API 9 で導入されました。

Lint は、このフィールドが API 8 では無効であるという警告を表示しません。

Android 2.2 (API 8) に対してコンパイルすると、エラーと、使用されている新機能 (> API 8) による余分なエラーの束が見つかり、プロジェクトはコンパイルされません。

(たとえば、Build.VERSION.SDK_INT を使用して実行時にそのような処理を行うことを認識しています)

最適な働き方は?

リントが機能しないのはなぜですか?

ありがとう!

4

3 に答える 3

5

この回答は遅れているかもしれませんが、リントの設定を確認する必要があります

プロジェクトを右クリック -> プロパティ -> Android Lint 設定

次に、検索ボックスで min を検索し、「UsesMinSDKAttributes」を選択します。

最後に「すべてを含める」ボタンを選択します。うまくいけば、チェックが抑制されただけです(愚かなリントエラーを修正するために私がしなければならなかったこと)

幸運を。

于 2013-04-12T21:31:52.063 に答える
0

APIレベル9で導入されている場合は、これを試してください。
< uses-sdk android:minSdkVersion="9" android:targetSdkVersion="10"/>

于 2012-12-16T15:03:49.947 に答える