androidSDK、NDKのサンプルを動かす(WindowsXP)
0.はじめに
「cocos2d-x」はC++等で記述できるのがウリですが、androidの標準開発言語はJavaです。
2言語の溝を埋めるのが「JNI」というインターフェースです。
C++のソースコードはJNI用にネイティブビルドされ、JavaはJNIを介してそのC++部分を呼び出します。
C++のネイティブビルドはndk-buildというCUI向けコマンドで行います。このために「Cygwin」が必要となります。
androidアプリを実行するには「eclipse」というIDEが必要となります。
(必須かは知りませんが、標準的に。)
手順が多いので、まずはndkの正常動作まで確認します。
1.「Cygwin」をインストールする。
http://www.cygwin.com/
「Cygwin」とはWindows上でUNIX/LINUX的コマンドラインインターフェイスをエミュレートして提供するもの。
android ndkのビルドに使うらしい。
インストールセットにmake, gcc, ruby等は追加すべき。
2.「JDK」をインストールする。
JDKはJavaでの開発環境。「Android SDK」やIDE「Ecripse」はこれを利用して動く。
現在、「JDK」は「Java Platform, Standard Edition」だった。「JavaFX」はJDKに含まれていた。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
3.「Android SDK」をインストールする。
http://developer.android.com/intl/ja/sdk/index.html
「Android SDK」とはandroidアプリのベーシックな開発環境。プログラミング言語はJava。
インストーラで選択させられるバージョンは、対象とするandroid機器のOSバージョンに合わせる。全部インストールしても良い。
「ADT(Android Developer Tools)」も一緒にインストールすると、後述のEcripseがついてくる。
4.「android NDK」をインストールする。
http://developer.android.com/intl/ja/tools/sdk/ndk/index.html
「Android NDK」とはandroidアプリをC/C++で記述できるようにする追加プラグイン。
直接CPUを動かす(ネイティブコード)なので、汎用性は極端に落ちる。
「JNI」が含まれる。
「JNI(Java Native Interface)」とはJavaからC++を呼び出す機構。cocos2d-xに必要。
cocos2d-xはC++で記述するため、JNI経由でandroidアプリから呼び出す必要がある。
5.「Eclipse(IDE for Java Developers)」をインストールする。
http://www.eclipse.org/
androidアプリ開発の標準環境。「Android SDK」インストールの時に既にインストールされているはず。
最新版で良い。
6.素のandroidアプリをEclipseで動かすテスト
[File] - [New] - [New android Project] でプロジェクトを新規作成。
package nameはJAVA開発の規則で、jp.co.hogehoge などとドメインが入るように決まっている。とりあえず"com.example"にしておく。
「Eclipse」からエミュレータをNewして立ち上げる。
[Window] - [Android Virtual Device Manager] から、「New」で作成。「Start」で起動。
※Nexus7だとメモリ、ストレージが大きすぎてメモリ不足になりがちなので、サイズ削減しておくと良い。
[Run As] - [Android application] で、激重エミュレータ上で起動するはず。
エミュレータがロック状態になったらマウスドラッグで解除する。