NDK:Eclipseでコンパイルする方法

ndk-eclipsecompile.png

プロジェクトの立ち上げ。

  1. Eclipse->New->AndroidProject で普通にjavaでやるときみたいなAndroidプロジェクトを立ち上げる
  2. プロジェクトを右クリックしてnew->Folder->jniフォルダを作る。
  3. jniフォルダの下にAndroid.mkとmain.cppを作る
  4. サンプルを真似たりしてコードを書く。
  5. コマンドプロンプトを開いて、プロジェクトのフォルダまで行って、ndk-buildする。
  6. その後普通にRun as..で実行する。Debug Asだと動かないようだ。

ndk-buildもEclipse上でするには?

Setting up Automatic NDK Builds in Eclipseこのサイトを参考にする。
すると。。!cのコードを書いてCtrl+Sで保存するたびにコンパイルしてくれるようになる。(ビューはC++のにしたほうがいいかも)
変なこと書いても普通にok!とコンパイルするときもあるから要注意。ちゃんと間違いを間違いと認識してくれるかどうか確認すること。
もし、間違いを間違いと認識してなかったら、一回コマンドプロンプトから

ndk-build clean

をするといい。

  • この方法だけだと、ビルドはしてくれるけど、どこが間違いかってことがいまいちリアルタイムにわからない。

Eclipseの中にc++プロジェクト?(やってはいけない!!)

Using Eclipse for Android C/C++ Developmentこのサイトを参考に。
jniフォルダ内でNew->Convert to C++ Projectする。(←最もやってはいけない。)
黄色い変な線を消すには、CDT の Makefile プロジェクトでヘッダファイルに「Unresolved Inclusion」警告マーカがついて消えない †ここ参考。注意はGNU CとかGNU c++のとこにちゃんと追加すること。Assemblyのとこに追加してもなんの意味もない。
EclipseのCDTが変である。必要なファイルをちゃんとインクルードしてもjintを認識できなかったり。JNIEXPORTも認識出来なかったり。
そして、C++プロジェクトを取り除こうとしても方法がよくわからなくて1からAndroidProjectを立ち上げる羽目になった。
EclipseないでC++プロジェクトを立ち上げるのは危険!。
そして、エラーだけが認識され続け、エラーがあるからビルドできませんとかいって、.apkファイルを作ってくれなくなってしまうのだ。

program "sh" not found in PATH

D:\Program Files\cygwin\bin にsh.exeがあるからそれを教えてあげよう。

サポートサイト Wikidot.com