2013-04-08 5 views
40

cygwinで自分のcocos2d-xプロジェクトをコンパイルするときに次の警告が表示されます。Android NDK:警告:APP_PLATFORM android-9がandroid:minSdkVersionより大きい8

`/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ですが、どこでもアンドロイド9としてAPP_PLATFORMを指定していません。これを8に変更するにはどうすればいいですか?

この警告を解決する方法を教えてもらえますか?問題が発生する可能性があります。

+0

SDKのバージョンは何ですか? – Robin

+0

FWIW、NDK r9で修正されました_something_ –

+0

[NDKコンパイラの警告を取り除く方法: "APP \ _PLATFORMがもっと大きかった"と "無効なパッケージ"](http://stackoverflow.com/questions/15739409/how-get-rid-of-ndk-compiler-warning-app-platform-is-larger-and-invalid-pac)を実行します。 [警告:APP_PLATFORM android-14は/home/user/MyApp/AndroidManifest.xmlのandroid:minSdkVersionよりも大きい(http://stackoverflow.com/q/21087904/608639)を参照してください。 – jww

答えて

60

あなたはAndroid-9を実行時として使用しているようです。 Application.mkファイルにAPP_PLATFORM := android-8を入れると警告が消えます。

+0

これは影響はありますか? – radj

+1

さて、ネイティブコードがこの制約を満たすことを確認する必要があります。指定されたプラットフォームで動作します。 –

+0

ありがとう、私の問題を解決します。 – Sean

13

警告/エラーの背後にある理由は、マニフェストに指定された「最小」よりも高いターゲットプラットフォームのネイティブコードをコンパイルしていることを伝えたいということです。基本的には、「古いOSでサポートされていない機能の使用には注意してください。 Application.mkの変更は大丈夫です。コンパイルされたコードに実際に悪影響を与えるべきではありません。

~~ 代替ソリューション。

r8の場合、ビルド設定を変更して、エラーではなく警告と見なすことができます。これはr8で機能しましたが、r9の部分的な修正に過ぎません。 NDKのレブR9について

(他で動作があまりにも回転数が、位置/行番号が異なっていてもよい)

$ {NDK} /build/core/add-application.mkライン138

ADD "#"ラインの始めに。

の#$(__ndk_infoを呼び出し、WARNING:APP_PLATFORM $(APP_PLATFORM)がアンドロイドよりも大きい場合:$でminSdkVersionが$(APP_MIN_PLATFORM_LEVEL)(APP_MANIFEST))

1文字、30秒修正...ネイティブコードをデバッグ行きます。

1

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

this linkで)Googleからの誰かが提供する、次の手順を実行して、Eclipseの設定を変更する(だけでなく、以下の私の重要な注意を参照)することができます

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のユーザーが気付かなかったことは、設定で[上へ移動]ボタンを使用して新しいルールを上に移動する必要があることです。

関連する問題