1

最新のSDKでコンパイルしたいという唯一の理由で、ビルドターゲットを7から16に変更しました。それでも7から始まるバージョンをターゲットにしたい。

私のプロジェクトはコンパイルされ、2台のデバイスで問題なく実行されました。しかし、これが安全かどうかはわかりません。私は気づいていないいくつかの事柄のために、それがいくつかのデバイスでクラッシュすることを解放したくありません。

とにかく、特別な理由なしにビルドターゲットをアップグレードすることは理にかなっていますか?

編集:明確にするために-私は新しいバージョンをターゲットにしたり、新しい機能をサポートしたりするためにそれを行っていません(私はすでに互換性ライブラリを使用しています)。それは、おそらく新しいビルドターゲットで、パフォーマンスなどの内部が改善されたからです。

4

1 に答える 1

2

新しいSDKバージョンの機能を使用しない場合、「アップグレードするためだけに」この要件を更新することは意味がありません。アプリケーションをデバイスで実行すると、そのバージョンが使用されるため、すでに最新の内部構造が使用されています。

androidライブラリには下位互換性があります(つまり、古いバージョンと互換性があります)。サポートライブラリは上位互換性を提供し(つまり、最新のAndroidライブラリバージョンに一致する機能を追加します)、サポートライブラリはアプリケーション(APK内)で提供されるため、必要に応じて利用できます。アプリケーションは最初にAndroidライブラリを使用しようとし(したがって、常にそのデバイスの最新の内部構造を使用します)、機能が存在しない場合は、サポートライブラリを使用します。


新しい機能が必要な場合は、そのSDKバージョンにアップグレードする必要があります。そして(最終的に)実行中のバージョンをチェックするコードを追加し、SDKのバージョンが低いデバイスに代替手段を提供します。

実行時にSDKのバージョンを確認するには、代替手段を提供するために、を使用しますandroid.os.Build.VERSION

于 2013-01-15T14:30:47.980 に答える