Eclipse でネイティブにデバッグしようとすると、「アプリケーション ABI を検出できません」というメッセージが表示されました。どこにもたどり着けなかったので、ndk-gdb(Windowsの場合はndk-gdb.py)を試しました。
しかし、ndk-gdb を使用すると、次のようになります。
ERROR: The device does not support the application's targetted CPU ABIs!
Device supports: armeabi-v7a armeabi
Package supports: .
これは、ndk-gdb.py 関数が原因で発生します。
def get_build_var(var):
global GNUMAKE_CMD, GNUMAKE_FLAGS, NDK, PROJECT
text = subprocess.check_output([GNUMAKE_CMD,
'--no-print-dir',
'-f',
NDK+'/build/core/build-local.mk',
'-C',
PROJECT,
'DUMP_'+var] + GNUMAKE_FLAGS
)
# replace('\r', '') due to Windows crlf (\r\n)
# ...universal_newlines=True causes bytes to be returned
# rather than a str
return text.decode('ascii').replace('\r', '').splitlines()[0]
「.」を返します。APP_ABI を求められたとき。サブプロセスの make 呼び出しパラメーターをダンプしました。コマンド ラインから make 呼び出しを実行すると、「armeabi-v7a armeabi」という正しい応答が返されます。
エラーはEclipseのみの問題と非常に似ているため、これはPythonに関係しているとは思いません。