DEADSOFTWARE

Added README for android
[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-19;
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;
18 * nanoGL.
20 D2DF uses special version of nanoGL ( https://github.com/DeaDDooMER/nanogl ) with some added functions.
21 Build all shared libraries using NDK toolchain and put into directory ./ass/lib/armeabi-v7a/.
22 Also you need to build FPC crosscompiler ( http://wiki.freepascal.org/Android ).
24 Generate keys:
25 ```
26 keytool -genkey -validity 10000 \
27 -dname "CN=AndroidDebug, O=Android, C=US" \
28 -keystore d2df.keystore \
29 -storepass android \
30 -keypass android \
31 -alias androiddebugkey \
32 -keyalg RSA \
33 -keysize 2048 \
34 -v
35 ```
37 Build D2DF:
38 ```
39 rm -rf tmp
40 mkdir -p tmp
41 cd ../src/game
42 ppcrossarm \
43 -g -gl -dUSE_SDLMIXER -dUSE_NANOGL -O3 \
44 -Tandroid \
45 -Cparmv7a \
46 -Cfvfpv3 \
47 -Fi../lib/vampimg \
48 -Fi../lib/vampimg/JpegLib \
49 -Fi../lib/vampimg/ZLib \
50 -Fu../lib/vampimg \
51 -Fu../lib/vampimg/JpegLib \
52 -Fu../lib/vampimg/ZLib \
53 -FU../../android/tmp \
54 -FE../../android/ass/lib/armeabi-v7a \
55 -Fl../../android/ass/lib/armeabi-v7a \
56 -olibDoom2DF.so \
57 Doom2DF.lpr
58 ```
60 Build APK and sign it:
61 ```
62 rm -rf bin obj gen
63 mkdir -p bin obj gen
64 aapt package -f -m -S res -J gen -M AndroidManifest.xml -I ${ANDROID_JAR}
65 javac -source 1.6 -target 1.6 -d obj -bootclasspath ${ANDROID_JAR} -sourcepath src `find src -name '*.java'`
66 dx --dex --output=bin/classes.dex obj
67 aapt package -f \
68 -M AndroidManifest.xml \
69 -S res \
70 -J gen \
71 -I ${ANDROID_JAR} \
72 -F bin/d2df.unsigned.apk \
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-19/android.jar.