DEADSOFTWARE

Added new OpenGL ES wrapper
[d2df-sdl.git] / android / README
1 D2DF-SDL for ANDROID
2 --------------------
4 Doom 2D Forever ported to Android 4.1+.
6 Building
7 --------
9 Requirements:
10 * Android SDK build-tools >= 19.1.0;
11 * Android SDK platforms >= android-16;
12 * Android NDK >= r16b;
13 * Open JDK >= 8;
14 * FPC >= 3.0.4;
15 * SDL >= 2.0.7;
16 * SDL_mixer >= 2.0;
17 * libenet >= 1.3.13.
19 Build all shared libraries using NDK toolchain and put into directory ./ass/lib/armeabi-v7a/.
20 Also you need to build FPC crosscompiler ( http://wiki.freepascal.org/Android ).
21 Put game resources into direcotor resources/ (or install it manually into external/internal storage).
23 Generate keys:
24 ```
25 keytool -genkey -validity 10000 \
26 -dname "CN=AndroidDebug, O=Android, C=US" \
27 -keystore d2df.keystore \
28 -storepass android \
29 -keypass android \
30 -alias androiddebugkey \
31 -keyalg RSA \
32 -keysize 2048 \
33 -v
34 ```
36 Build D2DF:
37 ```
38 rm -rf tmp
39 mkdir -p tmp
40 cd ../src/game
41 ppcrossarm \
42 -g -gl -dUSE_SDLMIXER -dUSE_GLES1 -O3 \
43 -Tandroid \
44 -Cparmv7a \
45 -Cfvfpv3 \
46 -Fi../lib/vampimg \
47 -Fi../lib/vampimg/JpegLib \
48 -Fi../lib/vampimg/ZLib \
49 -Fu../lib/vampimg \
50 -Fu../lib/vampimg/JpegLib \
51 -Fu../lib/vampimg/ZLib \
52 -FU../../android/tmp \
53 -FE../../android/ass/lib/armeabi-v7a \
54 -Fl../../android/ass/lib/armeabi-v7a \
55 -olibDoom2DF.so \
56 Doom2DF.lpr
57 ```
59 Build APK and sign it:
60 ```
61 rm -rf bin obj gen
62 mkdir -p bin obj gen resources
63 aapt package -f -m -S res -J gen -M AndroidManifest.xml -I ${ANDROID_JAR}
64 javac -source 1.6 -target 1.6 -d obj -bootclasspath ${ANDROID_JAR} -sourcepath src `find src -name '*.java'`
65 dx --dex --output=bin/classes.dex obj
66 aapt package -f \
67 -M AndroidManifest.xml \
68 -S res \
69 -J gen \
70 -I ${ANDROID_JAR} \
71 -F bin/d2df.unsigned.apk \
72 -A resources
73 bin ass
74 jarsigner -sigalg SHA1withRSA -digestalg SHA1 \
75 -keystore d2df.keystore \
76 -storepass android \
77 -keypass android \
78 -signedjar bin/d2df.signed.apk \
79 bin/d2df.unsigned.apk androiddebugkey
80 ```
82 Where ${ANDROID_JAR} is path to android.jar file. Typically placed in ~/Android/android-sdk/platforms/android-16/android.jar.