Artifact dc54fe9ca47b3e11f9d6a1457a40fcb3c5b1c442:
Wiki page
[
Building AndroWish] by
chw
2019-05-02 05:02:16.
0000: 44 20 32 30 31 39 2d 30 35 2d 30 32 54 30 35 3a D 2019-05-02T05:
0010: 30 32 3a 31 36 2e 37 37 39 0a 4c 20 42 75 69 6c 02:16.779.L Buil
0020: 64 69 6e 67 5c 73 41 6e 64 72 6f 57 69 73 68 0a ding\sAndroWish.
0030: 50 20 61 38 39 30 32 36 61 32 31 33 34 65 35 38 P a89026a2134e58
0040: 61 65 64 36 34 65 33 36 36 35 64 66 33 62 30 32 aed64e3665df3b02
0050: 32 34 64 33 32 65 38 63 36 33 0a 55 20 63 68 77 24d32e8c63.U chw
0060: 0a 57 20 32 32 39 35 0a 3c 68 32 3e 42 75 69 6c .W 2295.<h2>Buil
0070: 64 69 6e 67 20 41 6e 64 72 6f 57 69 73 68 3c 2f ding AndroWish</
0080: 68 32 3e 0d 0a 0d 0a 3c 68 33 3e 52 65 71 75 69 h2>....<h3>Requi
0090: 72 65 6d 65 6e 74 73 3c 2f 68 33 3e 0d 0a 0d 0a rements</h3>....
00a0: 20 20 2a 20 20 3c 61 20 68 72 65 66 3d 22 68 74 * <a href="ht
00b0: 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 61 tp://developer.a
00c0: 6e 64 72 6f 69 64 2e 63 6f 6d 2f 73 64 6b 2f 69 ndroid.com/sdk/i
00d0: 6e 64 65 78 2e 68 74 6d 6c 22 3e 41 6e 64 72 6f ndex.html">Andro
00e0: 69 64 20 53 44 4b 3c 2f 61 3e 20 28 76 65 72 73 id SDK</a> (vers
00f0: 69 6f 6e 20 31 32 20 6f 72 20 6c 61 74 65 72 29 ion 12 or later)
0100: 0d 0a 20 20 2a 20 20 3c 61 20 68 72 65 66 3d 22 .. * <a href="
0110: 68 74 74 70 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 http://developer
0120: 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 74 6f 6f .android.com/too
0130: 6c 73 2f 73 64 6b 2f 6e 64 6b 2f 69 6e 64 65 78 ls/sdk/ndk/index
0140: 2e 68 74 6d 6c 22 3e 41 6e 64 72 6f 69 64 20 4e .html">Android N
0150: 44 4b 3c 2f 61 3e 20 28 72 37 20 6f 72 20 6c 61 DK</a> (r7 or la
0160: 74 65 72 29 0d 0a 20 20 2a 20 20 4d 69 6e 69 6d ter).. * Minim
0170: 75 6d 20 41 50 49 20 6c 65 76 65 6c 20 73 75 70 um API level sup
0180: 70 6f 72 74 20 62 79 20 53 44 4c 20 69 73 20 31 port by SDL is 1
0190: 30 20 28 41 6e 64 72 6f 69 64 20 32 2e 33 2e 33 0 (Android 2.3.3
01a0: 29 2c 20 72 65 71 75 65 73 74 65 64 20 41 50 49 ), requested API
01b0: 20 6c 65 76 65 6c 20 66 72 6f 6d 20 3c 74 74 3e level from <tt>
01c0: 70 72 6f 6a 65 63 74 2e 70 72 6f 70 65 72 74 69 project.properti
01d0: 65 73 3c 2f 74 74 3e 20 69 73 20 31 36 20 28 41 es</tt> is 16 (A
01e0: 6e 64 72 6f 69 64 20 34 2e 31 29 0d 0a 20 20 2a ndroid 4.1).. *
01f0: 20 20 43 50 55 73 20 73 75 70 70 6f 72 74 65 64 CPUs supported
0200: 20 66 6f 72 20 6e 61 74 69 76 65 20 73 68 61 72 for native shar
0210: 65 64 20 6c 69 62 72 61 72 69 65 73 20 61 72 65 ed libraries are
0220: 20 63 75 72 72 65 6e 74 6c 79 20 3c 74 74 3e 61 currently <tt>a
0230: 72 6d 65 61 62 69 3c 2f 74 74 3e 20 61 6e 64 20 rmeabi</tt> and
0240: 3c 74 74 3e 78 38 36 3c 2f 74 74 3e 2e 20 54 68 <tt>x86</tt>. Th
0250: 69 73 20 63 61 6e 20 62 65 20 63 68 61 6e 67 65 is can be change
0260: 64 20 69 6e 20 3c 74 74 3e 6a 6e 69 2f 41 70 70 d in <tt>jni/App
0270: 6c 69 63 61 74 69 6f 6e 2e 6d 6b 3c 2f 74 74 3e lication.mk</tt>
0280: 2e 0d 0a 0d 0a 3c 68 33 3e 42 75 69 6c 64 69 6e .....<h3>Buildin
0290: 67 20 61 6e 64 20 52 75 6e 6e 69 6e 67 20 41 6e g and Running An
02a0: 64 72 6f 57 69 73 68 3c 2f 68 33 3e 0d 0a 0d 0a droWish</h3>....
02b0: 4f 6c 64 20 73 63 68 6f 6f 6c 20 75 73 69 6e 67 Old school using
02c0: 20 41 70 61 63 68 65 20 3c 74 74 3e 61 6e 74 3c Apache <tt>ant<
02d0: 2f 74 74 3e 3a 0d 0a 0d 0a 20 20 23 20 20 52 65 /tt>:.... # Re
02e0: 66 72 65 73 68 20 74 68 65 20 70 72 6f 6a 65 63 fresh the projec
02f0: 74 20 73 65 74 74 69 6e 67 73 20 75 73 69 6e 67 t settings using
0300: 20 74 68 65 20 61 6e 64 72 6f 69 64 20 63 6f 6d the android com
0310: 6d 61 6e 64 20 66 72 6f 6d 20 41 6e 64 72 6f 69 mand from Androi
0320: 64 20 53 44 4b 3a 20 3c 74 74 3e 61 6e 64 72 6f d SDK: <tt>andro
0330: 69 64 20 75 70 64 61 74 65 20 70 72 6f 6a 65 63 id update projec
0340: 74 3c 2f 74 74 3e 0d 0a 20 20 23 20 20 52 65 76 t</tt>.. # Rev
0350: 69 65 77 20 3c 74 74 3e 6c 6f 63 61 6c 2e 70 72 iew <tt>local.pr
0360: 6f 70 65 72 74 69 65 73 3c 2f 74 74 3e 20 74 6f operties</tt> to
0370: 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 64 69 point to the di
0380: 72 65 63 74 6f 72 79 20 77 68 65 72 65 20 74 68 rectory where th
0390: 65 20 41 6e 64 72 6f 69 64 20 53 44 4b 20 72 65 e Android SDK re
03a0: 73 69 64 65 73 2e 0d 0a 20 20 23 20 20 55 73 65 sides... # Use
03b0: 20 3c 74 74 3e 61 6e 74 3c 2f 74 74 3e 20 74 6f <tt>ant</tt> to
03c0: 20 62 75 69 6c 64 20 41 6e 64 72 6f 57 69 73 68 build AndroWish
03d0: 20 66 72 6f 6d 20 73 63 72 61 74 63 68 3a 20 3c from scratch: <
03e0: 74 74 3e 61 6e 74 20 64 65 62 75 67 3c 2f 74 74 tt>ant debug</tt
03f0: 3e 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 >. This includes
0400: 20 62 75 69 6c 64 69 6e 67 20 74 68 65 20 43 20 building the C
0410: 6c 69 62 72 61 72 69 65 73 20 75 73 69 6e 67 20 libraries using
0420: 41 6e 64 72 6f 69 64 20 4e 44 4b 2e 20 54 68 61 Android NDK. Tha
0430: 74 20 73 74 65 70 20 63 61 6e 20 62 65 20 70 65 t step can be pe
0440: 72 66 6f 72 6d 65 64 20 73 65 70 61 72 61 74 65 rformed separate
0450: 6c 79 20 62 79 20 72 75 6e 6e 69 6e 67 20 3c 74 ly by running <t
0460: 74 3e 6e 64 6b 2d 62 75 69 6c 64 3c 2f 74 74 3e t>ndk-build</tt>
0470: 20 69 6e 20 74 68 65 20 3c 74 74 3e 6a 6e 69 3c in the <tt>jni<
0480: 2f 74 74 3e 20 64 69 72 65 63 74 6f 72 79 20 6f /tt> directory o
0490: 72 20 62 79 20 69 6e 76 6f 6b 69 6e 67 20 3c 74 r by invoking <t
04a0: 74 3e 61 6e 74 20 6e 64 6b 2d 62 75 69 6c 64 3c t>ant ndk-build<
04b0: 2f 74 74 3e 0d 0a 20 20 23 20 20 54 68 65 20 72 /tt>.. # The r
04c0: 65 73 75 6c 74 69 6e 67 20 41 6e 64 72 6f 69 64 esulting Android
04d0: 20 41 50 4b 20 69 73 20 62 75 69 6c 74 20 74 6f APK is built to
04e0: 20 3c 74 74 3e 62 69 6e 2f 41 6e 64 72 6f 57 69 <tt>bin/AndroWi
04f0: 73 68 2d 64 65 62 75 67 2e 61 70 6b 3c 2f 74 74 sh-debug.apk</tt
0500: 3e 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 69 > which can be i
0510: 6e 73 74 61 6c 6c 65 64 20 6f 6e 74 6f 20 61 20 nstalled onto a
0520: 64 65 76 69 63 65 20 6f 72 20 65 6d 75 6c 61 74 device or emulat
0530: 6f 72 20 75 73 69 6e 67 20 3c 74 74 3e 61 64 62 or using <tt>adb
0540: 20 69 6e 73 74 61 6c 6c 20 2d 72 20 62 69 6e 2f install -r bin/
0550: 41 6e 64 72 6f 57 69 73 68 2d 64 65 62 75 67 2e AndroWish-debug.
0560: 61 70 6b 3c 2f 74 74 3e 2e 0d 0a 20 20 23 20 20 apk</tt>... #
0570: 53 74 61 72 74 20 41 6e 64 72 6f 57 69 73 68 20 Start AndroWish
0580: 6f 6e 20 64 65 76 69 63 65 20 6f 72 20 65 6d 75 on device or emu
0590: 6c 61 74 6f 72 20 75 73 69 6e 67 20 3c 74 74 3e lator using <tt>
05a0: 61 64 62 3c 2f 74 74 3e 20 66 72 6f 6d 20 74 68 adb</tt> from th
05b0: 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 73 79 e development sy
05c0: 73 74 65 6d 3a 20 3c 74 74 3e 61 64 62 20 73 68 stem: <tt>adb sh
05d0: 65 6c 6c 20 61 6d 20 73 74 61 72 74 20 74 6b 2e ell am start tk.
05e0: 74 63 6c 2e 77 69 73 68 2f 2e 41 6e 64 72 6f 57 tcl.wish/.AndroW
05f0: 69 73 68 4c 61 75 6e 63 68 65 72 3c 2f 74 74 3e ishLauncher</tt>
0600: 2e 0d 0a 20 20 23 20 20 43 6c 65 61 6e 20 74 68 ... # Clean th
0610: 65 20 62 75 69 6c 64 20 74 72 65 65 20 77 69 74 e build tree wit
0620: 68 20 3c 74 74 3e 61 6e 74 20 63 6c 65 61 6e 3c h <tt>ant clean<
0630: 2f 74 74 3e 2e 0d 0a 0d 0a 4e 65 77 20 73 74 79 /tt>.....New sty
0640: 6c 65 20 75 73 69 6e 67 20 3c 74 74 3e 67 72 61 le using <tt>gra
0650: 64 6c 65 77 3c 2f 74 74 3e 3a 0d 0a 0d 0a 20 20 dlew</tt>:....
0660: 23 20 20 53 65 74 75 70 20 79 6f 75 72 20 65 6e # Setup your en
0670: 76 69 72 6f 6e 6d 65 6e 74 20 72 65 67 61 72 64 vironment regard
0680: 69 6e 67 20 3c 74 74 3e 41 4e 44 52 4f 49 44 5f ing <tt>ANDROID_
0690: 48 4f 4d 45 3c 2f 74 74 3e 20 61 6e 64 20 74 68 HOME</tt> and th
06a0: 65 20 3c 74 74 3e 6e 64 6b 2d 62 75 69 6c 64 3c e <tt>ndk-build<
06b0: 2f 74 74 3e 20 63 6f 6d 6d 61 6e 64 20 65 2e 67 /tt> command e.g
06c0: 2e 20 62 79 20 73 65 74 74 69 6e 67 20 62 6f 74 . by setting bot
06d0: 68 20 61 20 70 72 6f 70 65 72 20 3c 74 74 3e 50 h a proper <tt>P
06e0: 41 54 48 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 ATH</tt> and <tt
06f0: 3e 41 4e 44 52 4f 49 44 5f 4e 44 4b 5f 48 4f 4d >ANDROID_NDK_HOM
0700: 45 3c 2f 74 74 3e 2e 0d 0a 20 20 23 20 20 55 73 E</tt>... # Us
0710: 65 20 3c 74 74 3e 67 72 61 64 6c 65 77 3c 2f 74 e <tt>gradlew</t
0720: 74 3e 20 74 6f 20 62 75 69 6c 64 20 41 6e 64 72 t> to build Andr
0730: 6f 57 69 73 68 20 66 72 6f 6d 20 73 63 72 61 74 oWish from scrat
0740: 63 68 3a 20 3c 74 74 3e 2e 2f 67 72 61 64 6c 65 ch: <tt>./gradle
0750: 77 20 61 73 73 65 6d 62 6c 65 44 65 62 75 67 3c w assembleDebug<
0760: 2f 74 74 3e 2e 20 41 73 20 61 62 6f 76 65 20 74 /tt>. As above t
0770: 68 69 73 20 70 65 72 66 6f 72 6d 73 20 62 6f 74 his performs bot
0780: 68 20 74 68 65 20 4e 44 4b 20 62 75 69 6c 64 20 h the NDK build
0790: 61 6e 64 20 74 68 65 20 66 69 6e 61 6c 20 63 6f and the final co
07a0: 6d 70 69 6c 65 20 61 6e 64 20 70 61 63 6b 61 67 mpile and packag
07b0: 69 6e 67 20 73 74 65 70 73 2e 0d 0a 20 20 23 20 ing steps... #
07c0: 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 41 The resulting A
07d0: 6e 64 72 6f 69 64 20 41 50 4b 20 69 73 20 62 75 ndroid APK is bu
07e0: 69 6c 74 20 74 6f 20 3c 74 74 3e 62 75 69 6c 64 ilt to <tt>build
07f0: 2f 6f 75 74 70 75 74 73 2f 61 70 6b 2f 41 6e 64 /outputs/apk/And
0800: 72 6f 57 69 73 68 2d 64 65 62 75 67 2e 61 70 6b roWish-debug.apk
0810: 3c 2f 74 74 3e 20 77 68 69 63 68 20 63 61 6e 20 </tt> which can
0820: 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 74 be installed ont
0830: 6f 20 61 20 64 65 76 69 63 65 20 6f 72 20 65 6d o a device or em
0840: 75 6c 61 74 6f 72 20 75 73 69 6e 67 20 3c 74 74 ulator using <tt
0850: 3e 61 64 62 20 69 6e 73 74 61 6c 6c 20 2d 72 20 >adb install -r
0860: 62 75 69 6c 64 2f 6f 75 74 70 75 74 73 2f 61 70 build/outputs/ap
0870: 6b 2f 41 6e 64 72 6f 57 69 73 68 2d 64 65 62 75 k/AndroWish-debu
0880: 67 2e 61 70 6b 3c 2f 74 74 3e 2e 0d 0a 20 20 23 g.apk</tt>... #
0890: 20 20 53 74 61 72 74 20 41 6e 64 72 6f 57 69 73 Start AndroWis
08a0: 68 20 6f 6e 20 64 65 76 69 63 65 20 6f 72 20 65 h on device or e
08b0: 6d 75 6c 61 74 6f 72 20 75 73 69 6e 67 20 3c 74 mulator using <t
08c0: 74 3e 61 64 62 3c 2f 74 74 3e 20 66 72 6f 6d 20 t>adb</tt> from
08d0: 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 the development
08e0: 73 79 73 74 65 6d 3a 20 3c 74 74 3e 61 64 62 20 system: <tt>adb
08f0: 73 68 65 6c 6c 20 61 6d 20 73 74 61 72 74 20 74 shell am start t
0900: 6b 2e 74 63 6c 2e 77 69 73 68 2f 2e 41 6e 64 72 k.tcl.wish/.Andr
0910: 6f 57 69 73 68 4c 61 75 6e 63 68 65 72 3c 2f 74 oWishLauncher</t
0920: 74 3e 2e 0d 0a 20 20 23 20 20 43 6c 65 61 6e 20 t>... # Clean
0930: 74 68 65 20 62 75 69 6c 64 20 74 72 65 65 20 77 the build tree w
0940: 69 74 68 20 3c 74 74 3e 2e 2f 67 72 61 64 6c 65 ith <tt>./gradle
0950: 77 20 63 6c 65 61 6e 3c 2f 74 74 3e 2e 0d 0a 0a w clean</tt>....
0960: 5a 20 38 35 35 36 61 37 36 30 64 66 62 66 37 30 Z 8556a760dfbf70
0970: 36 61 66 63 66 39 38 62 66 66 34 32 37 65 63 36 6afcf98bff427ec6
0980: 31 31 0a 11.