Added README for android
[d2df-sdl.git] / android / README
blobaf6f4fc1140ddb109e1d7347925963e4f745b3e5
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.