minSdkVersion 15: この構成では、API レベル 15 以降の機能のみを使用することを強制しています。正しい?
いいえ。AminSdkVersion
の 15 は、それより低い API レベルのデバイスでアプリを実行したくないことを意味します。15はAndroid 4.0.3に対応。
minSdkVersion 15 および compileSdkVersion 24: この構成では、レベル 24 までの API レベルを使用できます。これは正しいですか?
IDE では、API レベル 24 以降のクラス、メソッド、フィールドなどを使用してコードを記述できます。IDE では、API レベル 15 以降に SDK に追加されたクラス、メソッド、フィールドなどを使用すると、結果が生じる可能性があることも警告する必要があります。実行時エラーで。
minSdkVersion 15 および compileSdkVersion 23: この構成では、API 23 の API 機能を使用すると、このアプリケーションは API レベル 20 の Android デバイスでは動作しません。
API レベル 20 は、第 1 世代の Android Wear デバイス向けの特別な Android バージョンです。しかし、それを API レベル 19 (Android 4.4) に切り替えると、Android 5.1 (API レベル 23) メソッドをやみくもに呼び出すと、Android 4.4 でクラッシュします。これが、IDE がこれについて警告する理由、 のチェックが頻繁に表示されるBuildConfig.VERSION.SDK_INT
理由、および SDK にこれらの...Compat
クラスがある理由 (これらのバージョンの違いの多くを隠そうとする理由) です。
以前の構成では、API レベル 20 の Android デバイスは、API が minSdkVersion 15 よりも高いため、アプリケーションをダウンロードしてインストールできますが、API 23 の機能があるため実行できませんよね?
デバイスはアプリの実行を試みます。どこまで到達するかは、アプリがどれだけうまく作成されているかによって異なります。繰り返しますが、古いデバイスで実行するために正常に低下する新しい API 機能を使用するアプリを作成できます。これは、Web サイトまたは Web アプリが最新の HTML5 機能を使用する方法と大きく異なるわけではありませんが、古いブラウザーや機能の少ないブラウザーを処理するために適切に機能を低下させます。
コメントされた以前の問題のために、APIレベルを使用したいがそれ以上ではないことを確認したい場合は、minSdkVersion 15とcompileSdkVersion 15の構成が唯一の方法ですか?
いいえ。繰り返しますが、IDE は (通常) で受け入れられるcompileSdkVersion
が より新しいSDK 機能を使用しようとすると、怒鳴りつけますminSdkVersion
。
は一般的な慣行ですか?
2010年以降ではありません。
FWIW、ここにこの件に関するドキュメントがありますが、制限されている場合があります。