« JPEG XR の読み込みに対応 | メイン | なぜ JPEG XR ? »

2014年05月26日

Android:: C++ Builder XE6 で FireMonkey を使わず NDK の機能で作る

    

以下、手順。
FireMonkey モバイルアプリケーション を選んでプロジェクト作成。
「空のアプリケーション」を選ぶ。
フォームのソースコードは要らないので、削除してしまう。
プロジェクト名.cpp の方は削除できないので、中身を空にしてしまうか #if 0 で囲んでおく。
中身を消すとリンク時にエントリーポイントがなくてエラーになるので、以下の関数を追加しておく。
extern "C" int _NativeMain( void* param ) { return 0; }

NDK にある sources/android/native_app_glue/android_native_app_glue.c/.h をプロジェクトに加える。
NDK の native-activity サンプルの main.c と同じように void android_main(struct android_app* state) から記述し始める。
後は普通にビルドして実行やデバッガでのステップ実行が出来るので、開発が捗る。
まだ始めたばかりなので問題が出るかもしれないが、起動して画面表示までは問題なくできているので、この形でいけそう。

Android は Java での開発に比べて NDK を使った C++ 開発は不自由過ぎて大変だったが、C++ Builder XE6 のおかげで楽できそうだ。
C++ Builder XE6 は、Android 2.3 以降の arm のみサポートだけど、NDK の機能のみ使うのであれば、最終的に makefile を書いて、NDK のコンパイラでビルドすれば、NDK と同じ制限下で作れる ( x86 などもサポートできる ) 。
makefile も色々とはまりポイントがあるけど、ほぼ最後に書くだけなら我慢できる。

2014/6/28 までの RAD Studio XE6発売記念キャンペーン で今なら、¥116,000 と言う、キャンペーンでその価格かと言う値段だけど、開発効率考えれば ( まだ使い始めなのでわからないが ) 安いだろう。
と言うか、これでやっとまともに開発が出来ると言った感じだ。
今時 makefile 書いて、make して printf デバッグしては辛すぎる……



投稿者 Takenori : 2014年05月26日 17:05




comments powered by Disqus
Total : Today : Yesterday : なかのひと