-1

2 つの質問があります。を使用してアプリをコンパイルし、targetSDKVersion 23実行中のエミュレーターでテストした場合api level 19api level 19.

に設定minSDKVersionして、API levelその API レベルで使用できないものを使用すると、コンパイラ エラーが発生しますか? minimum api levelそうでない場合、私のプログラムが何と互換性があるかをどのように確認できますか?

4

1 に答える 1

1

targetSDKVersion 23 でアプリをコンパイルしたが、API レベル 19 を実行しているエミュレーターでテストした場合

コードやデバイスでのtargetSdkVersion実行方法は変更されません。

minSDKVersion を API レベルに設定し、その API レベルで使用できないものを使用すると、コンパイラ エラーが発生しますか?

コンパイラ エラーは発生しません。lint 警告が表示されます。その API のないデバイスで実際に実行すると、ランタイム エラーが発生します。

最小 API レベルを確認するにはどうすればよいですか

実行時に、デバイスの SDK レベルを照会できます。

Build.VERSION.SDK_INTAPIレベルになります。

次に、定数を使用してチェックを実行し、適切に劣化させることができます。

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
    // fallback
} else {
    // use your lollipop api
}
于 2015-11-28T21:27:44.880 に答える