web-dev-qa-db-ja.com

NDKをデバッグしようとすると、アプリケーションABIを検出できません

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または別のプラグイン/設定にあると思います。

これは解決されましたが、今は別の問題が発生しています。ブレークポイントは機能していませんが、別の質問のためにそれを保持します。

22
gninja

問題は、EclipseのSequoyahまたは別のプラグイン/設定にあると思います。クリーンなEclipseをインストールしました。 CDT、次にADTをインストールすると、この問題は修正されたようです。

3
gninja

[設定]-> Android-> NDKに移動します。正しいパスを設定すると、機能します。その方法で機能します。

11
TienDC

OBJディレクトリとlibsディレクトリをクリーンアップし、ABIを1つだけビルドしてみてください。たとえば、APP_ABI = armeabiの横にNDK_DEBUG = 1を追加します。

1
Alex Cohn

Application.mkファイルにAPP_PLATFORMエントリを追加し、マニフェストファイルに記載されているのと同じ最小SDKバージョンを確認することで、問題を解決しました。

たとえば、私の場合、APP_PLATFORM:= 21がApplication.mkファイルに追加されてマニフェストファイルに追加されました。

また、Java側のjniネイティブ関数宣言ではなく、jni関数定義のブレークポイントを維持する必要がありました。

それが役に立てば幸い。

0
appapurapu

NDK r16bを使用するとこのエラーが発生し、r10eに切り替えると修正されました。

0
mortalis