QUASI88 for Androidというものがあります。
http://www41.atwiki.jp/tako2lab/pages/33.html
しかしながら、ソースが公開されておらず、IS01では動かなかったので、個人的に移植してみることにしました。SDLはAndroidにも移植されています。分かりずらいですが、以下から入手出来ます。
http://www.libsdl.org/tmp/android-project.zip
まずは、SDLだけでビルドしてみます。不要なライブラリは削除します。
$ rm -fr /c/home/android-project/jni/SDL_image $ rm -fr /c/home/android-project/jni/SDL_mixer/ $ rm -fr /c/home/android-project/jni/SDL_net/ $ rm -fr /c/home/android-project/jni/SDL_ttf/ $ rm -fr /c/home/android-project/jni/mikmod/ $ rm -fr /c/home/android-project/jni/freetype/ $ rm -fr /c/home/android-project/jni/png/ $ rm -fr /c/home/android-project/jni/jpeg/ $ rm -fr /c/home/android-project/jni/tremor/
Android.mk
###LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -llog LOCAL_LDLIBS := -ldl -lGLESv1_CM -llog
///#define SDL_VIDEO_RENDER_OGL_ES2 1 #define SDL_VIDEO_RENDER_OGL_ES2 0
SDL本体のみをビルドします。上記ファイルを修正すれば問題なし。
$ cd /c/android-ndk-r8b/ $ ./ndk-build -C /c/home/android-project/jni/
Javaの部分は以下のファイルを修正すれば問題なし。
> cd c:\home\android-project > ant debug
default.properties
target=android-4
local.properties
sdk.dir=C:\\android-sdk-windows
<?xml version="1.0" encoding="UTF-8"?> <project name="SDLApp" default="help"> <property file="local.properties" /> <property file="build.properties" /> <property file="default.properties" /> <import file="${sdk.dir}/tools/ant/pre_setup.xml" /> <setup /> </project>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.libsdl.app" android:versionCode="1" android:versionName="1.0"> <application android:label="@string/app_name" android:icon="@drawable/icon" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> <activity android:name="SDLActivity" android:label="@string/app_name" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="4" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> </manifest>
SDLActivity.java
// Load the .so static { System.loadLibrary("SDL"); /// System.loadLibrary("SDL_image"); /// System.loadLibrary("mikmod"); /// System.loadLibrary("SDL_mixer"); /// System.loadLibrary("SDL_ttf"); System.loadLibrary("main"); }