3

Java マニフェストと同じように、NDK で最小 API レベルとターゲット API レベルを定義することは可能ですか?

APP_PLATFORM を使用してターゲットを指定できることだけは知っていますが、最小 API も設定したい場合はどうすればよいでしょうか?

4

1 に答える 1

4

いいえ。Androidシステムイメージのバージョンはそれぞれ異なるため、NDKビルドシステム内でそのような情報を指定することはできません。

また、ネイティブコードの場合、移植性の側面は、アプリケーションがJavaのみで記述されている場合とは異なります。

ネイティブコードでさまざまなバージョンのAndroidをサポートする場合は、おそらくさまざまなAPP_PLATFORMに対してコードをコンパイルする必要があります。

あなたが言ったように、あなたはApplication.mkファイル内でのみAPP_PLATFORMディレクティブを使用することができます。そしてそれは次のように文書化されています:

APP_PLATFORM=ターゲットのAndroidプラットフォームに名前を付けます。たとえば、「android-3」はAndroid1.5システムイメージに対応します。プラットフォーム名と対応するAndroidシステムイメージの完全なリストについては、docs/STABLE-APIS.htmlをご覧ください。

docs / STABLE-APIS.html(android-ndk-r8d)のパーツ:

いくつかの「APIレベル」が定義されています。各APIレベルは、特定のAndroidシステムプラットフォームのリリースに対応しています。現在、次のレベルがサポートされています。

android-3      -> Official Android 1.5 system images
android-4      -> Official Android 1.6 system images
android-5      -> Official Android 2.0 system images
android-6      -> Official Android 2.0.1 system images
android-7      -> Official Android 2.1 system images
android-8      -> Official Android 2.2 system images
android-9      -> Official Android 2.3 system images
android-14     -> Official Android 4.0 system images

android-6とandroid-7はNDKのandroid-5と同じであることに注意してください。つまり、まったく同じネイティブABIを提供します。

重要:特定のAPIレベルに対応するヘッダーは、$ NDK / platform / android- / arch-arm / usr/includeの下に配置されるようになりました。

于 2013-01-29T10:00:34.973 に答える