42

cocos2d-x プロジェクトを cygwin でコンパイルすると、次の警告が表示されます。

`/cygdrive/e/project/MyGame/proj.android `
/cygdrive/e/android-ndk-r8e/build/core/add-application.mk:128: Android NDK: WARNING:APP_PLATFORM android-9 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml

NDK バージョン r8e を使用しています。AndroidManifest.xml の SDK の最小バージョンは 8 ですが、どこにも APP_PLATFORM を android-9 として指定していません。これを8に変更するにはどうすればよいですか。

これにより問題が発生する可能性があると思われるため、この警告を解決する方法を誰か教えてもらえますか。

4

3 に答える 3

60

Android-9 をランタイムとして使用しているようです。APP_PLATFORM := android-8ファイルに入れるApplication.mkと、警告が消えます。

于 2013-04-08T20:07:38.893 に答える
1

minSdkVersion よりも新しいバージョン用にネイティブ ライブラリをコンパイルしたい場合は、エラーを警告に変更するように Eclipse を構成するだけです。これは、Java コードが古いバージョンの Android でネイティブ ライブラリをロードしないことがわかっている場合に役立ちます。(警告: それが保証されない場合、APP_PLATFORM で指定されたものよりも古いバージョンの Android にネイティブ ライブラリをロードすると、満たされていない動的ライブラリ リンクがある場合、失敗してアプリがクラッシュする可能性があります。たとえば、APP_PLATFORM が 9 で、 OpenSLES の場合、Android 2.2 以前で JNI を使用しようとすると失敗します。ただし、Java 側がこれを認識しており、古いバージョンで loadLibrary が呼び出されないようにしている限り、問題ありません。)

Google の誰かが (このリンクで) 提供する次の手順に従って、Eclipse の設定を変更できます(ただし、以下の重要なメモも参照してください)。

日食で:

- Window -> Preferences -> C/C++ -> Build -> Settings
- Select CDT GNU C/C++ Error Parser
- In the Error Parser options at the bottom, add a new entry with the following contents:

Severity: Warning
Pattern: (.*?):(\d+): Android NDK: WARNING:(.*) 
File: $1
Line: $2
Description: $3

重要!Google 担当者が気付かなかったのは、設定の [上へ移動] ボタンを使用して新しいルールを一番上に移動する必要があることです。

于 2014-01-07T15:22:05.063 に答える