Android 2.3 (API レベル 9) デバイスのサポートを終了するのは、ほとんどのユーザーが携帯電話で新しい Android バージョンを使用しているためです。SDK の最小バージョンを API レベル 14 に更新しました。
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
}
}
ただし、Android 2.3 デバイスに手動で (ストアではなく) アプリをインストールすることはできます。これは予期された動作ですか、それとも何か間違ったことをしていますか? 他の場所で答えを見つけることができませんでした。
もう 1 つの奇妙な問題は、Lint が正しい API レベルを検出しないことです。
listView.setFastScrollAlwaysVisible(true);
これにより、次の警告が表示されます: Call requires api level 11 (current min is 9)。ただし、現在の最小値は 14 です。これは、私が何か間違ったことをしたことを示しています。プロジェクトのクリーニングと再構築を試み、Android Studio を再起動しました。それはすべてうまくいきませんでした。
誰でも私を助けることができますか?
編集
Sufiansのコメントに基づいて、gradleファイルをいじり始め、次の解決策にたどり着きました。しかし、まだいくつかの疑問が残っています。私のプロジェクト構造は次のようになります。
- android.gradle (SDK バージョンを含むトップレベルのビルド ファイル)
- メイン モジュール (他のモジュールのベース コードを含む)
- build.gradle (「../android.gradle」から適用)
- サブモジュール A (モジュール固有の変更)
- build.gradle (メイン モジュールに依存しています)
- サブモジュール B (モジュール固有の変更)
- build.gradle (メイン モジュールに依存しています)
android.gradle
SDK バージョンを含むトップレベルのビルド ファイルがあります。私のモジュールには、ビルドファイルが含まれていますapply from: '../android.gradle'
。minSdkVersion をメイン モジュールに直接配置すると、警告が消えます。それはそうあるべきですか?または、すべてのサブモジュールに minSdkVersion を設定する必要がありますか? または、SDK のバージョンがファイル内にとどまるようにする別の方法はありandroid.gradle
ますか?