minSdkバージョンより高いAPIへのアクセス

1056 ワード

LintはすべてのAndroid API呼び出しをスキャンし、一部の呼び出しがすべてのVersion(minSdk声明による)にサポートされていない場合、Lintは警告します.
  • APIを使用する必要があり、低バージョンのサポートも必要ない場合は、buildを適切に向上させることができます.gradleまたはAndroidManifest.xmlの最低バージョン番号(minSdkValerson).
  • APIがサポートされているバージョンでのみ呼び出されると判断できる場合は、@TargetApiを使用してクラスまたはメソッドの最低バージョンを指定できます.たとえば@TargetApi(11)では、Lint検出ではmanifestファイルのminSdkではなく11が最低バージョンとみなされます.
  • スタイルファイルでandroid:attributesなどのプロパティを使用している場合は、values-vNNフォルダ(NNはバージョン番号を表す)に入れることを確認します.これにより、一部のデバイスで競合を回避できます.メーカーが追加したカスタムプロパティは、高バージョンのプロパティ名と同じになる可能性があります.同様に、スタイルファイルでtools:targetApi="11"を使用して、属性が適用されるAPI範囲を指定することもできます.

  • 次のようになります.
    <style name="CustomActionBarTheme"
            parent="@style/Theme.AppCompat.Light.DarkActionBar">
            <item name="android:actionBarStyle" tools:targetApi="11">@style/MyActionBar</item>
            <!-- Support library compatibility -->
            <item name="actionBarStyle">@style/MyActionBar</item>
        </style>