EclipseでADT20.0.3を使用してネイティブコードでAndroidアプリケーションをデバッグしようとしていますが、次のエラーが発生します。
[2012-10-04 12:09:12 - ndk_Android] Unknown Application ABI:
[2012-10-04 12:09:12 - ndk_Android]
[2012-10-04 12:09:12 - ndk_Android] Unable to detect application ABI's
Jniファイルは正しくビルドされ、ネイティブコードを使用してアプリケーションを実行できます。
私のビルドファイルApplication.mkは次のようになります。
APP_OPTIM := debug
APP_ABI := armeabi armeabi-v7a
APP_STL := gnustl_static
LOCAL_LDLIBS := $(Android_NDK)/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libgnustl_static.a
このエラーの原因を知っている人はいますか?誰かがADT20で動作するネイティブデバッグを取得しましたか?
私はここからガイドに従っています: http://tools.Android.com/recent/usingthendkplugin
編集:
一時ファイル/フォルダ/設定をクリーンアップして削除した後も、同じエラーが発生していました。次に、クリーンなEclipseをインストールしました。 CDT、次にADTをインストールすると、この問題は修正されたようです。問題は、EclipseのSequoyahまたは別のプラグイン/設定にあると思います。
これは解決されましたが、今は別の問題が発生しています。ブレークポイントは機能していませんが、別の質問のためにそれを保持します。
問題は、EclipseのSequoyahまたは別のプラグイン/設定にあると思います。クリーンなEclipseをインストールしました。 CDT、次にADTをインストールすると、この問題は修正されたようです。
[設定]-> Android-> NDKに移動します。正しいパスを設定すると、機能します。その方法で機能します。
OBJディレクトリとlibsディレクトリをクリーンアップし、ABIを1つだけビルドしてみてください。たとえば、APP_ABI = armeabiの横にNDK_DEBUG = 1を追加します。
Application.mkファイルにAPP_PLATFORMエントリを追加し、マニフェストファイルに記載されているのと同じ最小SDKバージョンを確認することで、問題を解決しました。
たとえば、私の場合、APP_PLATFORM:= 21がApplication.mkファイルに追加されてマニフェストファイルに追加されました。
また、Java側のjniネイティブ関数宣言ではなく、jni関数定義のブレークポイントを維持する必要がありました。
それが役に立てば幸い。
NDK r16bを使用するとこのエラーが発生し、r10eに切り替えると修正されました。