読者です 読者をやめる 読者になる 読者になる

Eclipse

Eclipseで New Project, Android Project from Existing Code をやる時に、workspace 直下のフォルダだとエラーメッセージが出て追加が出来ない。
http://wp.krks.net/2013/06/1200/

debugging

Add Native Support をして変換するには、Window -> Preferences -> Android -> NDK の NDK Location に使うndkのフォルダ指定が必要だった。
その時に .so ファイル名を入力するけれど、ちゃんと入力し無くてもビルドと実行が出来るのが不思議。。デバッグする時に問題が起きるんだろうか?

変換した後にこれでEclipse内でdebuggerが使えるかと思ったら、
Your project contains error(s), please fix them before running your application.
というエラーメッセージが出て実行出来なくなる。
そしてpathがうまく通って無いのかProblemsにunresolved errorsが大量に出てしまう。。
Window -> Preferences -> C/C++ -> Code Analysis で check を外せばエラー扱いしなくなって、デバッグ出来るようになった。。
ProjectのPropertyのC/C++ BuildのBuilder SettingsのBuild commandの ndk-build に、NDK_DEBUG=1 を指定する必要はあった。
指定すると大分実行速度が落ちる。まぁそれは良いとして、ブレークポイントを置いても止まってくれなかったり変な進み方をしたり…。

http://www.codeproject.com/Articles/493043/Why-your-Android-NDK-breakpoints-might-fail-and-ho
C. Recheck file versions and do a clean build
を見て原因が判明したんだけれど、jni/Application.mk で APP_ABI := armeabi armeabi-v7a と両方指定してて
gdb が armeabi の方を使ってしまってたのが原因っぽい。armeabi-v7a だけにしたら上手くステップ実行出来るようになった…。