D2DF-SDL for ANDROID -------------------- Doom 2D Forever ported to Android 4.1+. Building -------- Requirements: * Android SDK build-tools >= 19.1.0; * Android SDK platforms >= android-16; * Android NDK >= r16b; * Open JDK >= 8; * FPC >= 3.0.4; * SDL == 2.0.7; * SDL_mixer >= 2.0; * libenet >= 1.3.13. Build all shared libraries using NDK toolchain and put into directory ./ass/lib/armeabi-v7a/. Also you need to build FPC crosscompiler ( http://wiki.freepascal.org/Android ). If you want to pack game resources into APK, add it into directory "resources". If you want to play MIDI music, add instruments and timidity.cfg into directory "resources" (you can grab it from https://www.libsdl.org/projects/SDL_mixer/timidity/timidity.tar.gz). Generate keys: ``` keytool -genkey -validity 10000 \ -dname "CN=AndroidDebug, O=Android, C=US" \ -keystore d2df.keystore \ -storepass android \ -keypass android \ -alias androiddebugkey \ -keyalg RSA \ -keysize 2048 \ -v ``` Build D2DF: ``` rm -rf tmp mkdir -p tmp cd ../src/game ppcrossarm \ -g -gl -dUSE_SDLMIXER -dUSE_GLES1 -O3 \ -Tandroid \ -Cparmv7a \ -Cfvfpv3 \ -FU../../android/tmp \ -FE../../android/ass/lib/armeabi-v7a \ -Fl../../android/ass/lib/armeabi-v7a \ -olibDoom2DF.so \ Doom2DF.lpr ``` Build APK and sign it: ``` rm -rf bin obj gen mkdir -p bin obj gen resources aapt package -f -m -S res -J gen -M AndroidManifest.xml -I ${ANDROID_JAR} javac -source 1.6 -target 1.6 -d obj -bootclasspath ${ANDROID_JAR} -sourcepath src `find src -name '*.java'` dx --dex --output=bin/classes.dex obj aapt package -f \ -M AndroidManifest.xml \ -S res \ -J gen \ -I ${ANDROID_JAR} \ -F bin/d2df.unsigned.apk \ -A resources bin ass jarsigner -sigalg SHA1withRSA -digestalg SHA1 \ -keystore d2df.keystore \ -storepass android \ -keypass android \ -signedjar bin/d2df.signed.apk \ bin/d2df.unsigned.apk androiddebugkey ``` Where ${ANDROID_JAR} is path to android.jar file. Typically placed in ~/Android/android-sdk/platforms/android-16/android.jar.