Navigation Log - なびろぐ -
2010/12/21

...X680x0 spirit inside...

この日記はGNSで生成しています。
この日記の画像はOPTPiX webDesigner Ver.4で生成しています。

hauN
Go amazon.co.jp

■ご注文リストから■ [一覧]
■Amazonギフト券■ [購入]
「君の名は。」Blu-rayコレクターズ・エディション 4K Ultra HD Blu-ray同梱5枚組 (初回生産限定)(早期購入特典:特製フ [DVD]
「君の名は。」Blu...
Amazonほしい物リスト


2010/12/21 (火) 曇後雨

NDKいじり (Android)


wolf3dのIS01実動成功
_プロフェッショナルAndroid ゲームプログラミング」。出たばかりの本だが、Android側のリリース速度が速すぎるせいですでに開発環境が大昔のものに。

_ ということで、付属サンプルの「Wolfenstein 3D」「Doom」を最新のAndroid SDK r08+NDK r5で動作させられるかどうか試してみた。結果からいえばとても簡単。

  1. NDK付属サンプルを動かせるところまで環境を作り込む。たぶんここまでのほうがずっと面倒。
  2. 「プロフェッショナル〜」のサンプルを展開。
  3. 各プロジェクトのnative/(hoge)/*をjni/*にリネーム。
  4. Android.mkとApplication.mkを作成する。こんな感じ→[20101223032656.zip]
  5. NDKのbashターミナルを開き、各プロジェクトのjni/*フォルダで「ndk-build」コマンドを実行して、soファイルを作成する。
  6. 書籍のコンパイル例とは出力されるsoファイル名が異なるので、新しいファイル名でsoファイルを読み込めるように、javaソースを一部変更する。
    プロジェクト名 ソースファイル 変更前 変更後
    ch06.Wolf3D.SW src\wolf\util\WolfTools.java public static final String WOLF_LIB = "wolf_jni"; public static final String WOLF_LIB = "wolf3d";
    ch07.Android.Doom src\doom\util\DoomTools.java public static final String DOOM_LIB = "doom_jni"; public static final String DOOM_LIB = "doom";
  7. Eclipseを起動し、ビルドする。ビルドしたものはそのままEclipseから実機やエミュレータに転送・実行できる。

_ なお、この方法ではCソース(JNI側)のEclipseによるデバッグは(現時点では)不可能。またCソースのビルドもEclipse上ではできず、bashターミナルから実行しなければならない。Eclipse側に手を入れればなんとかできるのかもしれないが、現状ではこれ以上の調査はできず。

_ 最後に動作速度。25fpsくらいは出ているように見える。


[URL] [View Log()] [Trackback]
Name: Comment:



メールはこちらへ...[後藤浩昭 / Hiroaki GOTO / GORRY / gorry@hauN.org]

「表紙へ戻る」
「会議室」 「最新版」 「なびろぐindex」 「GNSソースを読む」