Hex Artifact Content
Not logged in

Artifact fdadc5ca537495f0955c0823854843f22c7e47b8:

Wiki page [Build custom Androwish] by chw 2016-09-30 08:14:41.
0000: 44 20 32 30 31 36 2d 30 39 2d 33 30 54 30 38 3a  D 2016-09-30T08:
0010: 31 34 3a 34 31 2e 36 32 33 0a 4c 20 42 75 69 6c  14:41.623.L Buil
0020: 64 5c 73 63 75 73 74 6f 6d 5c 73 41 6e 64 72 6f  d\scustom\sAndro
0030: 77 69 73 68 0a 50 20 34 30 39 65 65 34 66 63 33  wish.P 409ee4fc3
0040: 66 63 38 37 38 31 30 37 66 31 36 62 61 39 64 31  fc878107f16ba9d1
0050: 64 36 64 61 62 62 33 36 62 33 31 30 34 30 65 0a  d6dabb36b31040e.
0060: 55 20 63 68 77 0a 57 20 31 34 34 38 36 0a 3c 68  U chw.W 14486.<h
0070: 32 3e 53 74 61 72 74 69 6e 67 20 70 6f 69 6e 74  2>Starting point
0080: 3c 2f 68 32 3e 0d 0a 0d 0a 53 74 61 72 74 69 6e  </h2>....Startin
0090: 67 20 70 6f 69 6e 74 20 69 73 20 74 68 65 20 64  g point is the d
00a0: 65 73 63 72 69 70 74 69 6f 6e 20 62 79 20 43 68  escription by Ch
00b0: 72 69 73 74 69 61 6e 20 61 74 20 5b 68 74 74 70  ristian at [http
00c0: 3a 2f 2f 77 77 77 2e 61 6e 64 72 6f 77 69 73 68  ://www.androwish
00d0: 2e 6f 72 67 2f 69 6e 64 65 78 2e 68 74 6d 6c 2f  .org/index.html/
00e0: 77 69 6b 69 3f 6e 61 6d 65 3d 42 75 69 6c 64 69  wiki?name=Buildi
00f0: 6e 67 2b 41 6e 64 72 6f 57 69 73 68 5d 20 61 6e  ng+AndroWish] an
0100: 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  d the following 
0110: 71 75 6f 74 65 20 66 72 6f 6d 20 77 69 6b 69 20  quote from wiki 
0120: 70 61 67 65 20 5b 68 74 74 70 3a 2f 2f 77 69 6b  page [http://wik
0130: 69 2e 74 63 6c 2e 74 6b 2f 34 31 32 38 32 7c 41  i.tcl.tk/41282|A
0140: 6e 64 72 6f 77 69 73 68 5d 3a 0d 0a 3c 68 72 2f  ndrowish]:..<hr/
0150: 3e 0d 0a 50 6c 65 61 73 65 20 66 65 74 63 68 20  >..Please fetch 
0160: 74 68 65 20 73 6f 75 72 63 65 73 20 28 74 68 65  the sources (the
0170: 20 62 69 67 20 2e 74 61 72 2e 62 7a 32 29 2c 20   big .tar.bz2), 
0180: 75 6e 70 61 63 6b 20 69 74 2c 20 68 61 76 65 20  unpack it, have 
0190: 41 6e 64 72 6f 69 64 20 53 44 4b 20 61 6e 64 20  Android SDK and 
01a0: 4e 44 4b 20 69 6e 73 74 61 6c 6c 65 64 2c 20 64  NDK installed, d
01b0: 6f 6e 27 74 20 75 73 65 20 45 63 6c 69 70 73 65  on't use Eclipse
01c0: 2c 20 61 64 61 70 74 20 6c 6f 63 61 6c 2e 70 72  , adapt local.pr
01d0: 6f 70 65 72 74 69 65 73 20 74 6f 20 77 68 65 72  operties to wher
01e0: 65 20 79 6f 75 27 76 65 20 69 6e 73 74 61 6c 6c  e you've install
01f0: 65 64 20 41 6e 64 72 6f 69 64 20 53 44 4b 2c 20  ed Android SDK, 
0200: 68 61 76 65 20 79 6f 75 72 20 50 41 54 48 20 70  have your PATH p
0210: 72 6f 70 65 72 6c 79 20 73 65 74 20 73 6f 20 74  roperly set so t
0220: 68 61 74 20 6e 64 6b 2d 62 75 69 6c 64 20 63 61  hat ndk-build ca
0230: 6e 20 64 6f 20 69 74 73 20 6a 6f 62 2c 20 74 68  n do its job, th
0240: 65 6e 20 69 6e 76 6f 6b 65 20 22 61 6e 74 20 64  en invoke "ant d
0250: 65 62 75 67 22 2c 20 62 65 20 70 61 74 69 65 6e  ebug", be patien
0260: 74 2c 20 61 6e 64 20 79 6f 75 27 6c 6c 20 66 69  t, and you'll fi
0270: 6e 61 6c 6c 79 20 77 69 6c 6c 20 68 61 76 65 20  nally will have 
0280: 62 69 6e 2f 41 6e 64 72 6f 57 69 73 68 2d 64 65  bin/AndroWish-de
0290: 62 75 67 2e 61 70 6b 20 72 65 61 64 79 20 74 6f  bug.apk ready to
02a0: 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e   be installed on
02b0: 74 6f 20 79 6f 75 72 20 64 65 76 69 63 65 2e 20  to your device. 
02c0: 49 20 68 61 76 65 20 6e 65 76 65 72 20 76 65 72  I have never ver
02d0: 69 66 69 65 64 20 74 68 65 20 62 75 69 6c 64 20  ified the build 
02e0: 70 72 6f 63 65 73 73 20 69 6e 20 63 6f 6d 62 69  process in combi
02f0: 6e 61 74 69 6f 6e 20 77 69 74 68 20 45 63 6c 69  nation with Ecli
0300: 70 73 65 2e 20 4f 6e 63 65 20 75 70 6f 6e 20 61  pse. Once upon a
0310: 20 74 69 6d 65 2c 20 49 20 64 69 64 20 6d 79 20   time, I did my 
0320: 76 65 72 79 20 66 69 72 73 74 20 73 74 65 70 73  very first steps
0330: 20 75 73 69 6e 67 20 74 68 65 20 74 69 70 73 20   using the tips 
0340: 66 72 6f 6d 20 74 68 65 20 53 44 4c 20 64 6f 63  from the SDL doc
0350: 75 6d 65 6e 74 61 74 69 6f 6e 20 72 65 67 61 72  umentation regar
0360: 64 69 6e 67 20 41 6e 64 72 6f 69 64 2e 0d 0a 0d  ding Android....
0370: 0a 57 68 65 6e 20 79 6f 75 20 77 61 6e 74 20 74  .When you want t
0380: 6f 20 77 72 61 70 20 79 6f 75 72 20 6f 77 6e 20  o wrap your own 
0390: 61 70 70 20 77 72 69 74 74 65 6e 20 61 73 20 54  app written as T
03a0: 63 6c 20 63 6f 64 65 2c 20 79 6f 75 20 73 68 6f  cl code, you sho
03b0: 75 6c 64 20 61 64 64 20 69 74 20 62 65 6c 6f 77  uld add it below
03c0: 20 61 73 73 65 74 73 2f 61 70 70 2c 20 68 61 76   assets/app, hav
03d0: 65 20 74 68 65 20 6c 61 75 6e 63 68 69 6e 67 20  e the launching 
03e0: 73 63 72 69 70 74 20 61 73 20 6d 61 69 6e 2e 74  script as main.t
03f0: 63 6c 2c 20 66 69 64 64 6c 65 20 74 68 65 20 74  cl, fiddle the t
0400: 6f 70 6c 65 76 65 6c 20 41 6e 64 72 6f 69 64 4d  oplevel AndroidM
0410: 61 6e 69 66 65 73 74 2e 78 6d 6c 20 74 6f 20 68  anifest.xml to h
0420: 61 76 65 20 79 6f 75 72 20 61 70 70 2f 63 6c 61  ave your app/cla
0430: 73 73 20 6e 61 6d 65 20 69 6e 2c 20 72 65 6d 6f  ss name in, remo
0440: 76 65 20 74 68 61 74 20 41 6e 64 72 6f 57 69 73  ve that AndroWis
0450: 68 53 63 72 69 70 74 2f 4c 61 75 6e 63 68 65 72  hScript/Launcher
0460: 20 73 74 75 66 66 20 66 72 6f 6d 20 74 68 65 20   stuff from the 
0470: 6d 61 6e 69 66 65 73 74 20 28 73 69 6e 63 65 20  manifest (since 
0480: 6e 6f 74 20 6e 65 65 64 65 64 20 66 6f 72 20 61  not needed for a
0490: 20 73 74 61 6e 64 61 6c 6f 6e 65 20 61 70 70 29   standalone app)
04a0: 2c 20 64 65 72 69 76 65 20 79 6f 75 72 20 61 70  , derive your ap
04b0: 70 20 6d 61 69 6e 20 63 6c 61 73 73 20 28 79 65  p main class (ye
04c0: 73 2c 20 73 6f 6d 65 20 4a 61 76 61 20 72 65 71  s, some Java req
04d0: 75 69 72 65 64 29 20 66 72 6f 6d 20 73 72 63 2f  uired) from src/
04e0: 74 6b 2f 74 63 6c 2f 77 69 73 68 2f 41 6e 64 72  tk/tcl/wish/Andr
04f0: 6f 57 69 73 68 2e 6a 61 76 61 2c 20 65 2e 67 2e  oWish.java, e.g.
0500: 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 69 6d  ..<verbatim>..im
0510: 70 6f 72 74 20 74 6b 2e 74 63 6c 2e 77 69 73 68  port tk.tcl.wish
0520: 2e 41 6e 64 72 6f 57 69 73 68 3b 0d 0a 70 75 62  .AndroWish;..pub
0530: 6c 69 63 20 63 6c 61 73 73 20 54 63 6c 54 6b 52  lic class TclTkR
0540: 75 6c 65 73 20 65 78 74 65 6e 64 73 20 41 6e 64  ules extends And
0550: 72 6f 57 69 73 68 20 7b 7d 0d 0a 3c 2f 76 65 72  roWish {}..</ver
0560: 62 61 74 69 6d 3e 0d 0a 0d 0a 66 69 64 64 6c 65  batim>....fiddle
0570: 20 74 68 65 20 72 65 73 20 64 69 72 65 63 74 6f   the res directo
0580: 72 79 20 77 69 74 68 20 61 20 6e 65 77 20 72 65  ry with a new re
0590: 61 6c 6c 79 20 6b 6f 6f 6f 6f 6c 20 69 63 6f 6e  ally kooool icon
05a0: 20 61 6e 64 20 74 69 74 6c 65 20 66 6f 72 20 79   and title for y
05b0: 6f 75 72 20 61 70 70 2e 0d 0a 3c 68 72 2f 3e 0d  our app...<hr/>.
05c0: 0a 3c 68 32 3e 42 75 69 6c 64 20 41 6e 64 72 6f  .<h2>Build Andro
05d0: 77 69 73 68 3c 2f 68 32 3e 0d 0a 0d 0a 3c 68 33  wish</h2>....<h3
05e0: 3e 47 65 74 20 53 6f 75 72 63 65 3c 2f 68 33 3e  >Get Source</h3>
05f0: 0d 0a 0d 0a 41 20 72 65 6c 65 61 73 65 20 73 6f  ....A release so
0600: 75 72 63 65 20 69 73 20 6f 6e 20 74 68 65 20 77  urce is on the w
0610: 65 62 20 73 69 74 65 2e 0d 0a 49 66 20 61 6e 20  eb site...If an 
0620: 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 65 72  intermediate ver
0630: 73 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 75  sion should be u
0640: 73 65 64 2c 20 6f 6e 65 20 6d 61 79 20 63 6c 6f  sed, one may clo
0650: 6e 65 20 74 68 65 20 66 6f 73 73 69 6c 20 72 65  ne the fossil re
0660: 70 6f 73 69 74 6f 72 79 20 61 6e 64 20 63 68 65  pository and che
0670: 63 6b 20 6f 75 74 20 74 68 65 20 6c 61 74 65 73  ck out the lates
0680: 74 20 63 68 65 63 6b 69 6e 20 6f 6e 20 74 72 75  t checkin on tru
0690: 6e 6b 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d  nk:....<verbatim
06a0: 3e 0d 0a 66 6f 73 73 69 6c 20 63 6c 6f 6e 65 20  >..fossil clone 
06b0: 68 74 74 70 3a 2f 2f 61 6e 6f 6e 79 6d 6f 75 73  http://anonymous
06c0: 3a 46 34 44 43 30 31 36 33 40 77 77 77 2e 61 6e  :F4DC0163@www.an
06d0: 64 72 6f 77 69 73 68 2e 6f 72 67 20 61 6e 64 72  drowish.org andr
06e0: 6f 77 69 73 68 2e 66 6f 73 73 69 6c 0d 0a 6d 6b  owish.fossil..mk
06f0: 64 69 72 20 61 6e 64 72 6f 77 69 73 68 0d 0a 63  dir androwish..c
0700: 64 20 61 6e 64 72 6f 77 69 73 68 0d 0a 66 6f 73  d androwish..fos
0710: 73 69 6c 20 6f 70 65 6e 20 2e 2e 2f 61 6e 64 72  sil open ../andr
0720: 6f 77 69 73 68 2e 66 6f 73 73 69 6c 0d 0a 72 6d  owish.fossil..rm
0730: 20 2e 66 73 6c 63 6b 6f 75 74 0d 0a 3c 2f 76 65   .fslckout..</ve
0740: 72 62 61 74 69 6d 3e 0d 0a 0d 0a 0d 0a 3c 68 33  rbatim>......<h3
0750: 3e 54 72 79 20 6f 6e 20 57 69 6e 64 6f 77 73 3c  >Try on Windows<
0760: 2f 68 33 3e 0d 0a 0d 0a 57 69 6e 64 6f 77 73 20  /h3>....Windows 
0770: 62 75 69 6c 64 20 73 74 6f 70 70 65 64 20 77 69  build stopped wi
0780: 74 68 20 6e 64 6b 2d 62 75 69 6c 64 20 77 69 74  th ndk-build wit
0790: 68 20 61 20 22 63 6f 6d 6d 61 6e 64 20 6c 69 6e  h a "command lin
07a0: 65 20 74 6f 20 6c 6f 6e 67 22 20 65 72 72 6f 72  e to long" error
07b0: 2e 0d 0a 49 20 74 72 69 65 64 20 63 6d 64 2e 65  ...I tried cmd.e
07c0: 78 65 20 61 6e 64 20 63 79 67 77 69 6e 20 73 68  xe and cygwin sh
07d0: 65 6c 6c 2c 20 73 61 6d 65 20 72 65 73 75 6c 74  ell, same result
07e0: 2e 0d 0a 0d 0a 54 68 69 73 20 73 68 6f 75 6c 64  .....This should
07f0: 20 62 65 20 66 69 78 65 64 20 73 69 6e 63 65 20   be fixed since 
0800: 63 68 65 63 6b 2d 69 6e 20 5b 35 32 61 30 37 30  check-in [52a070
0810: 37 31 62 39 39 66 61 38 38 61 5d 20 61 6e 64 20  71b99fa88a] and 
0820: 77 61 73 20 76 65 72 69 66 69 65 64 20 6f 6e 20  was verified on 
0830: 57 69 6e 64 6f 77 73 20 38 2e 31 20 33 32 20 62  Windows 8.1 32 b
0840: 69 74 20 75 73 69 6e 67 20 41 6e 64 72 6f 69 64  it using Android
0850: 20 4e 44 4b 20 72 31 32 62 20 61 6e 64 20 41 6e   NDK r12b and An
0860: 64 72 6f 69 64 20 53 44 4b 20 32 34 2e 34 2e 31  droid SDK 24.4.1
0870: 2e 0d 0a 0d 0a 3c 68 33 3e 54 72 79 20 6f 6e 20  .....<h3>Try on 
0880: 4f 53 58 3c 2f 68 33 3e 0d 0a 0d 0a 4e 44 4b 3a  OSX</h3>....NDK:
0890: 20 49 20 64 6f 77 6e 6c 6f 61 64 65 64 20 61 6e   I downloaded an
08a0: 64 72 6f 69 64 2d 6e 64 6b 2d 72 31 30 65 2d 64  droid-ndk-r10e-d
08b0: 61 72 77 69 6e 2d 78 38 36 5f 36 34 2e 62 69 6e  arwin-x86_64.bin
08c0: 20 2d 20 20 74 68 65 6e 20 63 68 6d 6f 64 20 2b   -  then chmod +
08d0: 78 2c 20 65 78 65 63 75 74 65 20 69 74 2c 20 61  x, execute it, a
08e0: 6e 64 20 6d 6f 76 65 20 65 78 74 72 61 63 74 65  nd move extracte
08f0: 64 20 66 69 6c 65 73 20 74 6f 20 2f 75 73 72 2f  d files to /usr/
0900: 6c 6f 63 61 6c 2f 61 6e 64 72 6f 69 64 2d 6e 64  local/android-nd
0910: 6b 0d 0a 0d 0a 41 64 64 65 64 20 74 68 69 73 20  k....Added this 
0920: 74 6f 20 7e 2f 2e 62 61 73 68 5f 70 72 6f 66 69  to ~/.bash_profi
0930: 6c 65 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 65  le:..<verbatim>e
0940: 78 70 6f 72 74 20 4e 44 4b 5f 50 52 4f 4a 45 43  xport NDK_PROJEC
0950: 54 5f 50 41 54 48 3d 2f 75 73 72 2f 6c 6f 63 61  T_PATH=/usr/loca
0960: 6c 2f 61 6e 64 72 6f 69 64 2d 6e 64 6b 0d 0a 65  l/android-ndk..e
0970: 78 70 6f 72 74 20 41 4e 44 52 4f 49 44 5f 48 4f  xport ANDROID_HO
0980: 4d 45 3d 7e 2f 4c 69 62 72 61 72 79 2f 41 6e 64  ME=~/Library/And
0990: 72 6f 69 64 2f 73 64 6b 0d 0a 65 78 70 6f 72 74  roid/sdk..export
09a0: 20 50 41 54 48 3d 24 7b 50 41 54 48 7d 3a 7e 2f   PATH=${PATH}:~/
09b0: 61 6e 64 72 6f 69 64 2d 73 64 6b 2d 6d 61 63 2f  android-sdk-mac/
09c0: 74 6f 6f 6c 73 3a 2f 75 73 72 2f 6c 6f 63 61 6c  tools:/usr/local
09d0: 2f 61 6e 64 72 6f 69 64 2d 6e 64 6b 0d 0a 3c 2f  /android-ndk..</
09e0: 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 65 64 69  verbatim>....edi
09f0: 74 65 64 20 22 70 72 6f 6a 65 63 74 2e 70 72 6f  ted "project.pro
0a00: 70 65 72 74 69 65 73 22 20 74 6f 20 75 70 64 61  perties" to upda
0a10: 74 65 20 74 68 65 20 61 6e 64 72 6f 69 64 20 74  te the android t
0a20: 61 72 67 65 74 20 6e 75 6d 62 65 72 2e 0d 0a 3c  arget number...<
0a30: 76 65 72 62 61 74 69 6d 3e 23 20 50 72 6f 6a 65  verbatim># Proje
0a40: 63 74 20 74 61 72 67 65 74 2e 0d 0a 74 61 72 67  ct target...targ
0a50: 65 74 3d 61 6e 64 72 6f 69 64 2d 32 31 3c 2f 76  et=android-21</v
0a60: 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 54 6f 20 62  erbatim>....To b
0a70: 75 69 6c 64 3a 0d 0a 3c 76 65 72 62 61 74 69 6d  uild:..<verbatim
0a80: 3e 63 64 20 7e 2f 44 6f 63 75 6d 65 6e 74 73 2f  >cd ~/Documents/
0a90: 61 6e 64 72 6f 77 69 73 68 0d 0a 65 78 70 6f 72  androwish..expor
0aa0: 74 20 4e 44 4b 5f 50 52 4f 4a 45 43 54 5f 50 41  t NDK_PROJECT_PA
0ab0: 54 48 3d 60 70 77 64 60 0d 0a 61 6e 74 20 64 65  TH=`pwd`..ant de
0ac0: 62 75 67 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  bug..</verbatim>
0ad0: 0d 0a 0d 0a 22 61 6e 74 20 64 65 62 75 67 22 20  ...."ant debug" 
0ae0: 72 75 6e 73 20 66 6f 72 20 61 62 6f 75 74 20 33  runs for about 3
0af0: 30 20 6d 69 6e 75 74 65 73 2c 20 61 6e 64 20 65  0 minutes, and e
0b00: 6e 64 73 20 77 69 74 68 20 0d 0a 0d 0a 3c 76 65  nds with ....<ve
0b10: 72 62 61 74 69 6d 3e 42 55 49 4c 44 20 53 55 43  rbatim>BUILD SUC
0b20: 43 45 53 53 46 55 4c 3c 2f 76 65 72 62 61 74 69  CESSFUL</verbati
0b30: 6d 3e 0d 0a 0d 0a 3c 68 33 3e 54 72 79 20 6f 6e  m>....<h3>Try on
0b40: 20 43 65 6e 74 4f 53 20 36 3c 2f 68 33 3e 0d 0a   CentOS 6</h3>..
0b50: 0d 0a 46 61 69 6c 65 64 20 66 6f 72 20 6d 65 20  ..Failed for me 
0b60: 64 75 65 20 74 6f 20 61 20 74 6f 20 6f 6c 64 20  due to a to old 
0b70: 63 6c 69 62 2e 0d 0a 0d 0a 43 68 72 69 73 74 69  clib.....Christi
0b80: 61 6e 3a 20 72 65 6d 61 72 6b 65 64 20 74 68 61  an: remarked tha
0b90: 74 20 68 65 20 69 73 20 75 73 69 6e 67 20 43 65  t he is using Ce
0ba0: 6e 74 4f 53 20 36 20 6f 72 20 55 62 75 6e 74 75  ntOS 6 or Ubuntu
0bb0: 20 31 32 2e 30 34 20 4c 54 53 20 77 69 74 68 20   12.04 LTS with 
0bc0: 41 6e 64 72 69 6f 64 20 4e 44 4b 20 39 64 2e 0d  Andriod NDK 9d..
0bd0: 0a 53 6f 20 74 68 69 73 20 66 61 69 6c 75 72 65  .So this failure
0be0: 20 6d 69 67 68 74 20 62 65 20 64 75 65 20 74 6f   might be due to
0bf0: 20 74 68 65 20 66 61 63 74 2c 20 74 68 61 74 20   the fact, that 
0c00: 49 20 74 72 69 65 64 20 41 6e 64 72 6f 69 64 20  I tried Android 
0c10: 4e 44 4b 20 31 30 64 2e 0d 0a 0d 0a 3c 68 33 3e  NDK 10d.....<h3>
0c20: 4f 70 65 6e 53 75 53 45 20 31 33 2e 32 20 36 34  OpenSuSE 13.2 64
0c30: 20 62 69 74 3c 2f 68 33 3e 0d 0a 0d 0a 49 20 69   bit</h3>....I i
0c40: 6e 73 74 61 6c 6c 65 64 20 56 69 72 74 75 61 6c  nstalled Virtual
0c50: 42 6f 78 20 6f 6e 20 6d 79 20 57 69 6e 64 6f 77  Box on my Window
0c60: 73 20 38 2e 31 20 61 6e 64 20 4f 70 65 6e 53 75  s 8.1 and OpenSu
0c70: 53 45 20 31 33 2e 32 20 36 34 20 62 69 74 20 77  SE 13.2 64 bit w
0c80: 69 74 68 20 31 30 30 47 42 20 48 61 72 44 69 73  ith 100GB HarDis
0c90: 6b 20 61 6e 64 20 34 47 42 20 52 61 6d 2e 0d 0a  k and 4GB Ram...
0ca0: 20 20 20 2a 20 20 20 41 64 64 65 64 20 73 65 72     *   Added ser
0cb0: 69 65 73 3a 20 6a 61 76 61 20 64 65 76 65 6c 6f  ies: java develo
0cc0: 70 6d 65 6e 74 0d 0a 20 20 20 2a 20 20 20 41 64  pment..   *   Ad
0cd0: 64 65 64 20 70 61 63 6b 61 67 65 73 3a 20 6a 61  ded packages: ja
0ce0: 76 61 2d 31 5f 37 5f 30 2d 6f 70 65 6e 6a 64 6b  va-1_7_0-openjdk
0cf0: 2d 64 65 76 65 6c 2c 20 78 65 72 63 65 73 2d 6a  -devel, xerces-j
0d00: 32 2d 78 6d 6c 2d 61 70 69 73 0d 0a 0d 0a 41 63  2-xml-apis....Ac
0d10: 74 69 76 61 74 65 20 4a 61 76 61 20 37 20 28 65  tivate Java 7 (e
0d20: 2e 67 2e 20 31 2e 37 29 3a 0d 0a 0d 0a 3c 76 65  .g. 1.7):....<ve
0d30: 72 62 61 74 69 6d 3e 0d 0a 75 70 64 61 74 65 2d  rbatim>..update-
0d40: 61 6c 74 65 72 6e 61 74 69 76 65 73 20 2d 2d 63  alternatives --c
0d50: 6f 6e 66 69 67 20 6a 61 76 61 0d 0a 2d 3e 20 31  onfig java..-> 1
0d60: 2e 37 0d 0a 75 70 64 61 74 65 2d 61 6c 74 65 72  .7..update-alter
0d70: 6e 61 74 69 76 65 73 20 2d 2d 63 6f 6e 66 69 67  natives --config
0d80: 20 6a 61 76 61 63 0d 0a 2d 3e 20 31 2e 37 0d 0a   javac..-> 1.7..
0d90: 75 70 64 61 74 65 2d 61 6c 74 65 72 6e 61 74 69  update-alternati
0da0: 76 65 73 20 2d 2d 63 6f 6e 66 69 67 20 78 6d 6c  ves --config xml
0db0: 2d 63 6f 6d 6d 6f 6e 73 2d 61 70 69 73 0d 0a 2d  -commons-apis..-
0dc0: 3e 20 78 65 72 63 65 73 2d 6a 32 2d 78 6d 6c 2d  > xerces-j2-xml-
0dd0: 61 70 69 73 2e 6a 61 72 0d 0a 3c 2f 76 65 72 62  apis.jar..</verb
0de0: 61 74 69 6d 3e 0d 0a 0d 0a 53 65 74 20 75 70 20  atim>....Set up 
0df0: 41 6e 64 72 6f 69 64 20 62 75 69 6c 64 20 73 79  Android build sy
0e00: 73 74 65 6d 3a 0d 0a 3c 76 65 72 62 61 74 69 6d  stem:..<verbatim
0e10: 3e 0d 0a 63 64 20 7e 0d 0a 6d 6b 64 69 72 20 61  >..cd ~..mkdir a
0e20: 6e 64 72 6f 69 64 0d 0a 63 64 20 61 6e 64 72 6f  ndroid..cd andro
0e30: 69 64 0d 0a 6d 6b 64 69 72 20 64 6f 77 6e 6c 6f  id..mkdir downlo
0e40: 61 64 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  ad..</verbatim>.
0e50: 0a 0d 0a 44 6f 77 6e 6c 6f 61 64 65 64 20 69 6e  ...Downloaded in
0e60: 20 7e 2f 61 6e 64 72 6f 69 64 2f 64 6f 77 6e 6c   ~/android/downl
0e70: 6f 61 64 3a 0d 0a 20 20 20 2a 20 20 20 61 6e 64  oad:..   *   and
0e80: 72 6f 69 64 2d 73 64 6b 5f 72 32 34 2e 31 2e 32  roid-sdk_r24.1.2
0e90: 2d 6c 69 6e 75 78 2e 74 67 7a 0d 0a 20 20 20 2a  -linux.tgz..   *
0ea0: 20 20 20 61 6e 64 72 6f 69 64 2d 6e 64 6b 2d 72     android-ndk-r
0eb0: 39 64 2d 6c 69 6e 75 78 2d 78 38 36 5f 36 34 2e  9d-linux-x86_64.
0ec0: 74 61 72 2e 67 7a 0d 0a 20 20 20 2a 20 20 20 61  tar.gz..   *   a
0ed0: 6e 64 72 6f 77 69 73 68 2d 65 32 61 65 65 33 65  ndrowish-e2aee3e
0ee0: 61 32 65 61 37 31 38 65 37 2e 74 61 72 2e 67 7a  a2ea718e7.tar.gz
0ef0: 20 28 50 69 20 44 61 79 20 52 65 6c 65 61 73 65   (Pi Day Release
0f00: 2c 20 61 6c 73 6f 20 74 65 73 74 65 64 20 77 69  , also tested wi
0f10: 74 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 44 6f 6e  th following Don
0f20: 20 51 75 69 78 6f 74 65 20 52 65 6c 65 61 73 65   Quixote Release
0f30: 29 0d 0a 0d 0a 43 68 72 69 73 74 69 61 6e 3a 20  )....Christian: 
0f40: 73 75 67 67 65 73 74 65 64 20 74 6f 20 75 73 65  suggested to use
0f50: 20 74 68 65 20 39 64 20 72 65 6c 65 61 73 65 20   the 9d release 
0f60: 6f 66 20 74 68 65 20 6e 64 6b 20 69 6e 73 74 65  of the ndk inste
0f70: 61 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e  ad of the curren
0f80: 74 20 31 30 64 20 64 75 65 20 74 6f 20 74 68 65  t 10d due to the
0f90: 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 61 73 6f   following reaso
0fa0: 6e 73 3a 0d 0a 20 20 20 2a 20 20 20 73 74 69 6c  ns:..   *   stil
0fb0: 6c 20 73 75 70 70 6f 72 74 73 20 41 6e 64 72 6f  l supports Andro
0fc0: 69 64 20 32 2e 33 2e 33 2c 20 6c 69 6b 65 20 41  id 2.3.3, like A
0fd0: 6e 64 72 6f 57 69 73 68 0d 0a 20 20 20 2a 20 20  ndroWish..   *  
0fe0: 20 74 69 66 66 20 6c 69 62 72 61 72 79 20 64 6f   tiff library do
0ff0: 65 73 20 6e 6f 74 20 63 6f 6d 70 69 6c 65 20 77  es not compile w
1000: 69 74 68 20 31 30 64 0d 0a 0d 0a 54 68 65 20 64  ith 10d....The d
1010: 6f 77 6e 6c 6f 61 64 20 6c 69 6e 6b 20 69 73 3a  ownload link is:
1020: 0d 0a 20 20 20 2a 20 20 20 4c 69 6e 75 78 20 36  ..   *   Linux 6
1030: 34 20 62 69 74 3a 20 5b 68 74 74 70 73 3a 2f 2f  4 bit: [https://
1040: 64 6c 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 61 6e  dl.google.com/an
1050: 64 72 6f 69 64 2f 6e 64 6b 2f 61 6e 64 72 6f 69  droid/ndk/androi
1060: 64 2d 6e 64 6b 2d 72 39 64 2d 6c 69 6e 75 78 2d  d-ndk-r9d-linux-
1070: 78 38 36 5f 36 34 2e 74 61 72 2e 62 7a 32 5d 0d  x86_64.tar.bz2].
1080: 0a 20 20 20 2a 20 20 20 4c 69 6e 75 78 20 33 32  .   *   Linux 32
1090: 20 62 69 74 3a 20 5b 68 74 74 70 73 3a 2f 2f 64   bit: [https://d
10a0: 6c 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 61 6e 64  l.google.com/and
10b0: 72 6f 69 64 2f 6e 64 6b 2f 61 6e 64 72 6f 69 64  roid/ndk/android
10c0: 2d 6e 64 6b 2d 72 39 64 2d 6c 69 6e 75 78 2d 78  -ndk-r9d-linux-x
10d0: 38 36 2e 74 61 72 2e 62 7a 32 5d 0d 0a 0d 0a 55  86.tar.bz2]....U
10e0: 6e 70 61 63 6b 20 61 6e 64 20 69 6e 73 74 61 6c  npack and instal
10f0: 6c 2c 20 61 6e 64 72 6f 77 69 73 68 20 69 6e 20  l, androwish in 
1100: 66 6f 6c 64 65 72 20 22 61 6e 64 72 6f 77 69 73  folder "androwis
1110: 68 22 20 66 6f 72 20 65 61 73 69 65 72 20 61 63  h" for easier ac
1120: 63 65 73 73 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  cess..<verbatim>
1130: 0d 0a 63 64 20 7e 2f 61 6e 64 72 6f 69 64 0d 0a  ..cd ~/android..
1140: 74 61 72 20 78 76 7a 66 20 64 6f 77 6e 6c 6f 61  tar xvzf downloa
1150: 64 2f 61 6e 64 72 6f 69 64 2d 73 64 6b 5f 72 32  d/android-sdk_r2
1160: 34 2e 31 2e 32 2d 6c 69 6e 75 78 2e 74 67 7a 0d  4.1.2-linux.tgz.
1170: 0a 62 7a 69 70 32 20 2d 64 20 64 6f 77 6e 6c 6f  .bzip2 -d downlo
1180: 61 64 2f 61 6e 64 72 6f 69 64 2d 6e 64 6b 2d 72  ad/android-ndk-r
1190: 39 64 2d 6c 69 6e 75 78 2d 78 38 36 5f 36 34 2e  9d-linux-x86_64.
11a0: 74 61 72 2e 62 7a 32 0d 0a 74 61 72 20 78 76 66  tar.bz2..tar xvf
11b0: 20 64 6f 77 6e 6c 6f 61 64 2f 61 6e 64 72 6f 69   download/androi
11c0: 64 2d 6e 64 6b 2d 72 39 64 2d 6c 69 6e 75 78 2d  d-ndk-r9d-linux-
11d0: 78 38 36 5f 36 34 2e 74 61 72 0d 0a 74 61 72 20  x86_64.tar..tar 
11e0: 78 76 66 20 64 6f 77 6e 6c 6f 61 64 2f 61 6e 64  xvf download/and
11f0: 72 6f 77 69 73 68 2d 65 32 61 65 65 33 65 61 32  rowish-e2aee3ea2
1200: 65 61 37 31 38 65 37 2e 74 61 72 2e 67 7a 0d 0a  ea718e7.tar.gz..
1210: 6d 76 20 61 6e 64 72 6f 77 69 73 68 2d 65 32 61  mv androwish-e2a
1220: 65 65 33 65 61 32 65 61 37 31 38 65 37 20 61 6e  ee3ea2ea718e7 an
1230: 64 72 6f 77 69 73 68 0d 0a 3c 2f 76 65 72 62 61  drowish..</verba
1240: 74 69 6d 3e 0d 0a 0d 0a 28 73 74 61 72 74 20 73  tim>....(start s
1250: 69 64 65 20 6e 6f 74 65 29 0d 0a 3c 68 72 2f 3e  ide note)..<hr/>
1260: 0d 0a 3c 68 34 3e 6e 64 6b 20 31 30 64 20 69 6e  ..<h4>ndk 10d in
1270: 73 74 61 6c 6c 20 69 6e 73 74 72 75 63 74 69 6f  stall instructio
1280: 6e 73 20 28 69 66 20 39 64 20 69 73 20 6e 6f 74  ns (if 9d is not
1290: 20 75 73 65 64 20 61 73 20 61 62 6f 76 65 29 3c   used as above)<
12a0: 2f 68 34 3e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  /h4>..<verbatim>
12b0: 0d 0a 63 64 20 7e 2f 61 6e 64 72 6f 69 64 0d 0a  ..cd ~/android..
12c0: 63 68 6d 6f 64 20 2b 78 20 64 6f 77 6e 6c 6f 61  chmod +x downloa
12d0: 64 2f 61 6e 64 72 6f 69 64 2d 6e 64 6b 2d 72 31  d/android-ndk-r1
12e0: 30 64 2d 6c 69 6e 75 78 2d 78 38 36 5f 36 34 2e  0d-linux-x86_64.
12f0: 62 69 6e 0d 0a 64 6f 77 6e 6c 6f 61 64 2f 61 6e  bin..download/an
1300: 64 72 6f 69 64 2d 6e 64 6b 2d 72 31 30 64 2d 6c  droid-ndk-r10d-l
1310: 69 6e 75 78 2d 78 38 36 5f 36 34 2e 62 69 6e 0d  inux-x86_64.bin.
1320: 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 3c 68  .</verbatim>..<h
1330: 72 2f 3e 0d 0a 28 65 6e 64 20 73 69 64 65 20 6e  r/>..(end side n
1340: 6f 74 65 29 0d 0a 0d 0a 4f 70 65 6e 20 41 6e 64  ote)....Open And
1350: 72 6f 69 64 20 53 44 4b 20 6d 61 6e 61 67 65 72  roid SDK manager
1360: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 7e  :..<verbatim>..~
1370: 2f 61 6e 64 72 6f 69 64 2f 61 6e 64 72 6f 69 64  /android/android
1380: 2d 73 64 6b 2d 6c 69 6e 75 78 2f 74 6f 6f 6c 73  -sdk-linux/tools
1390: 2f 61 6e 64 72 6f 69 64 20 73 64 6b 0d 0a 2d 3e  /android sdk..->
13a0: 20 53 65 6c 65 63 74 20 47 6f 6f 67 6c 65 20 41   Select Google A
13b0: 50 49 73 20 41 52 4d 20 45 41 42 49 20 76 37 61  PIs ARM EABI v7a
13c0: 20 53 79 73 74 65 6d 20 49 6d 61 67 65 0d 0a 2d   System Image..-
13d0: 3e 20 55 6e 73 65 6c 65 63 74 20 61 6c 6c 20 6f  > Unselect all o
13e0: 74 68 65 72 20 73 79 73 74 65 6d 20 69 6d 61 67  ther system imag
13f0: 65 73 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  es..</verbatim>.
1400: 0a 0d 0a 50 72 65 70 61 72 65 20 62 75 69 6c 64  ...Prepare build
1410: 20 61 6e 64 20 6c 65 74 20 22 61 6e 64 72 6f 69   and let "androi
1420: 64 22 20 63 72 65 61 74 65 20 22 6c 6f 63 61 6c  d" create "local
1430: 2e 70 72 6f 70 65 72 74 69 65 73 22 3a 0d 0a 3c  .properties":..<
1440: 76 65 72 62 61 74 69 6d 3e 0d 0a 65 78 70 6f 72  verbatim>..expor
1450: 74 20 50 41 54 48 3d 24 50 41 54 48 3a 7e 2f 61  t PATH=$PATH:~/a
1460: 6e 64 72 6f 69 64 2f 61 6e 64 72 6f 69 64 2d 73  ndroid/android-s
1470: 64 6b 2d 6c 69 6e 75 78 2f 74 6f 6f 6c 73 3a 7e  dk-linux/tools:~
1480: 2f 61 6e 64 72 6f 69 64 2f 61 6e 64 72 6f 69 64  /android/android
1490: 2d 6e 64 6b 2d 72 39 64 0d 0a 63 64 20 61 6e 64  -ndk-r9d..cd and
14a0: 72 6f 77 69 73 68 0d 0a 0d 0a 61 6e 64 72 6f 69  rowish....androi
14b0: 64 20 75 70 64 61 74 65 20 70 72 6f 6a 65 63 74  d update project
14c0: 20 2d 70 20 2e 20 2d 2d 74 61 72 67 65 74 20 31   -p . --target 1
14d0: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 28  ..</verbatim>..(
14e0: 74 68 65 20 65 78 70 6f 72 74 20 63 6f 6d 6d 61  the export comma
14f0: 6e 64 20 6d 61 79 20 62 65 20 63 6f 70 69 65 64  nd may be copied
1500: 20 74 6f 20 7e 2f 2e 62 61 73 68 72 63 20 74 6f   to ~/.bashrc to
1510: 20 62 65 20 61 63 74 69 76 65 20 66 6f 72 20 65   be active for e
1520: 61 63 68 20 73 68 65 6c 6c 20 73 74 61 72 74 29  ach shell start)
1530: 0d 0a 0d 0a 28 73 74 61 72 74 20 6f 66 20 73 69  ....(start of si
1540: 64 65 20 6e 6f 74 65 29 0d 0a 3c 68 72 2f 3e 0d  de note)..<hr/>.
1550: 0a 3c 68 34 3e 20 45 72 72 6f 72 20 77 69 74 68  .<h4> Error with
1560: 20 6e 64 6b 20 31 30 64 20 61 6e 64 20 6e 6f 74   ndk 10d and not
1570: 20 77 69 74 68 20 39 64 20 28 65 2e 67 2e 20 6f   with 9d (e.g. o
1580: 6e 6c 79 20 77 68 65 6e 20 31 30 64 20 69 73 20  nly when 10d is 
1590: 75 73 65 64 29 3c 2f 68 34 3e 0d 0a 4f 6e 20 22  used)</h4>..On "
15a0: 61 6e 74 20 64 65 62 75 67 22 2c 20 49 20 68 61  ant debug", I ha
15b0: 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  d the following 
15c0: 62 75 69 6c 64 20 65 72 72 6f 72 20 49 20 63 6f  build error I co
15d0: 75 6c 64 20 6e 6f 74 20 73 6f 6c 76 65 3a 0d 0a  uld not solve:..
15e0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20 20 20 20  <verbatim>..    
15f0: 20 5b 65 78 65 63 5d 20 5b 61 72 6d 65 61 62 69   [exec] [armeabi
1600: 5d 20 43 6f 6d 70 69 6c 65 20 74 68 75 6d 62 20  ] Compile thumb 
1610: 20 3a 20 74 69 66 66 5f 74 6b 69 6d 67 20 3c 3d   : tiff_tkimg <=
1620: 20 74 69 66 5f 70 72 65 64 69 63 74 2e 63 0d 0a   tif_predict.c..
1630: 20 20 20 20 20 5b 65 78 65 63 5d 20 2f 74 6d 70       [exec] /tmp
1640: 2f 63 63 54 55 64 6e 72 33 2e 73 3a 20 41 73 73  /ccTUdnr3.s: Ass
1650: 65 6d 62 6c 65 72 20 6d 65 73 73 61 67 65 73 3a  embler messages:
1660: 0d 0a 20 20 20 20 20 5b 65 78 65 63 5d 20 2f 74  ..     [exec] /t
1670: 6d 70 2f 63 63 54 55 64 6e 72 33 2e 73 3a 20 45  mp/ccTUdnr3.s: E
1680: 72 72 6f 72 3a 20 75 6e 61 6c 69 67 6e 65 64 20  rror: unaligned 
1690: 6f 70 63 6f 64 65 73 20 64 65 74 65 63 74 65 64  opcodes detected
16a0: 20 69 6e 20 65 78 65 63 75 74 61 62 6c 65 20 73   in executable s
16b0: 65 67 6d 65 6e 74 0d 0a 20 20 20 20 20 5b 65 78  egment..     [ex
16c0: 65 63 5d 20 6d 61 6b 65 3a 20 5b 6f 62 6a 2f 6c  ec] make: [obj/l
16d0: 6f 63 61 6c 2f 61 72 6d 65 61 62 69 2f 6f 62 6a  ocal/armeabi/obj
16e0: 73 2f 74 69 66 66 5f 74 6b 69 6d 67 2f 6c 69 62  s/tiff_tkimg/lib
16f0: 74 69 66 66 2f 74 69 66 5f 70 72 65 64 69 63 74  tiff/tif_predict
1700: 2e 6f 5d 20 45 72 72 6f 72 20 31 0d 0a 3c 2f 76  .o] Error 1..</v
1710: 65 72 62 61 74 69 6d 3e 0d 0a 54 68 69 73 20 69  erbatim>..This i
1720: 73 20 69 6e 20 6a 6e 69 2f 74 69 66 66 2e 0d 0a  s in jni/tiff...
1730: 53 6f 20 49 20 64 65 6c 65 74 65 64 20 74 68 65  So I deleted the
1740: 20 74 6b 69 6d 67 20 61 6e 64 20 6a 6e 69 2f 74   tkimg and jni/t
1750: 69 66 66 20 66 6f 6c 64 65 72 73 3a 0d 0a 3c 76  iff folders:..<v
1760: 65 72 62 61 74 69 6d 3e 0d 0a 72 6d 20 2d 72 66  erbatim>..rm -rf
1770: 20 6a 6e 69 2f 74 6b 69 6d 67 20 6a 6e 69 2f 74   jni/tkimg jni/t
1780: 69 66 66 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  iff..</verbatim>
1790: 0d 0a 54 68 65 20 62 75 69 6c 64 20 65 72 72 6f  ..The build erro
17a0: 72 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 69 73  r most likely is
17b0: 20 63 61 75 73 65 64 20 62 79 20 61 20 63 6f 6d   caused by a com
17c0: 70 69 6c 65 72 20 70 72 6f 62 6c 65 6d 2e 20 54  piler problem. T
17d0: 68 69 73 20 69 73 73 75 65 20 69 73 20 66 69 78  his issue is fix
17e0: 65 64 20 69 6e 20 61 6e 20 5b 41 6e 64 72 6f 57  ed in an [AndroW
17f0: 69 73 68 5d 20 63 68 65 63 6b 2d 69 6e 20 6f 6e  ish] check-in on
1800: 20 32 30 31 35 2d 30 36 2d 33 30 20 62 79 20 63   2015-06-30 by c
1810: 6f 6d 70 69 6c 69 6e 67 20 6c 69 62 74 69 66 66  ompiling libtiff
1820: 20 74 6f 20 41 52 4d 20 69 6e 73 74 65 61 64 20   to ARM instead 
1830: 6f 66 20 54 68 75 6d 62 20 63 6f 64 65 2e 20 54  of Thumb code. T
1840: 68 65 20 78 38 36 20 76 65 72 73 69 6f 6e 20 6f  he x86 version o
1850: 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 64  f the compiler d
1860: 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 62 75  oes not cause bu
1870: 69 6c 64 20 65 72 72 6f 72 73 2e 0d 0a 0d 0a 3c  ild errors.....<
1880: 68 72 2f 3e 0d 0a 28 65 6e 64 20 73 69 64 65 20  hr/>..(end side 
1890: 6e 6f 74 65 29 0d 0a 0d 0a 4e 6f 77 2c 20 61 6e  note)....Now, an
18a0: 20 22 61 6e 74 20 64 65 62 75 67 22 20 73 75 63   "ant debug" suc
18b0: 63 65 65 64 73 20 66 6f 72 20 6d 65 2e 0d 0a 54  ceeds for me...T
18c0: 68 65 20 72 65 73 75 6c 74 20 69 73 20 69 6e 20  he result is in 
18d0: 22 61 6e 64 72 6f 77 69 73 68 2f 62 69 6e 2f 41  "androwish/bin/A
18e0: 6e 64 72 6f 57 69 73 68 2d 64 65 62 75 67 2e 61  ndroWish-debug.a
18f0: 70 6b 0d 0a 0d 0a 47 72 65 61 74 2c 20 74 68 61  pk....Great, tha
1900: 6e 6b 20 79 6f 75 2c 20 43 72 69 73 74 69 61 6e  nk you, Cristian
1910: 20 21 0d 0a 0d 0a 3c 68 32 3e 43 75 73 74 6f 6d   !....<h2>Custom
1920: 69 7a 69 6e 67 20 41 6e 64 72 6f 77 69 73 68 3c  izing Androwish<
1930: 2f 68 32 3e 0d 0a 0d 0a 54 68 69 73 20 69 73 20  /h2>....This is 
1940: 61 20 63 75 73 74 6f 6d 69 73 61 74 69 6f 6e 20  a customisation 
1950: 66 6f 72 20 74 68 65 20 61 70 70 6c 69 63 61 74  for the applicat
1960: 69 6f 6e 20 63 61 6c 6c 65 64 20 22 48 49 42 49  ion called "HIBI
1970: 53 63 61 6e 22 20 66 6f 72 20 74 68 65 20 63 6f  Scan" for the co
1980: 6d 70 61 6e 79 20 75 72 6c 20 22 65 6c 6d 69 63  mpany url "elmic
1990: 72 6f 6e 2e 64 65 22 2e 0d 0a 59 6f 75 20 73 68  ron.de"...You sh
19a0: 6f 75 6c 64 20 72 65 70 6c 61 63 65 20 74 68 6f  ould replace tho
19b0: 73 65 20 6e 61 6d 65 73 20 62 79 20 79 6f 75 72  se names by your
19c0: 20 6f 77 6e 20 6f 6e 65 73 2e 0d 0a 0d 0a 3c 68   own ones.....<h
19d0: 33 3e 44 65 6c 65 74 65 20 6e 6f 74 20 72 65 71  3>Delete not req
19e0: 75 69 72 65 64 20 70 61 63 6b 61 67 65 73 3c 2f  uired packages</
19f0: 68 33 3e 0d 0a 0d 0a 49 74 20 69 73 20 70 65 72  h3>....It is per
1a00: 68 61 70 73 20 6d 65 2c 20 62 75 74 20 49 20 61  haps me, but I a
1a10: 6c 77 61 79 73 20 74 72 79 20 74 6f 20 67 65 74  lways try to get
1a20: 20 73 6d 61 6c 6c 20 70 61 63 6b 61 67 65 73 20   small packages 
1a30: 77 69 74 68 20 61 73 20 6c 65 73 73 20 61 73 20  with as less as 
1a40: 70 6f 73 73 69 62 6c 65 20 69 6e 63 6c 75 64 65  possible include
1a50: 64 2e 0d 0a 53 6f 20 49 20 64 65 6c 65 74 65 64  d...So I deleted
1a60: 20 70 61 63 6b 61 67 65 73 20 49 20 6b 6e 6f 77   packages I know
1a70: 20 61 6e 64 20 49 20 64 6f 6e 27 74 20 6e 65 65   and I don't nee
1a80: 64 20 69 6e 20 74 68 69 73 20 70 72 6f 6a 65 63  d in this projec
1a90: 74 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  t:....<verbatim>
1aa0: 0d 0a 63 64 20 6a 6e 69 0d 0a 72 6d 20 2d 72 66  ..cd jni..rm -rf
1ab0: 20 33 64 63 61 6e 76 61 73 20 62 6c 74 20 63 75   3dcanvas blt cu
1ac0: 72 6c 20 65 78 70 65 63 74 20 69 74 6b 20 6a 70  rl expect itk jp
1ad0: 65 67 20 6c 69 62 78 6d 6c 32 20 6e 73 66 20 54  eg libxml2 nsf T
1ae0: 63 6c 43 75 72 6c 20 74 63 6c 72 61 6c 20 74 63  clCurl tclral tc
1af0: 6c 75 64 70 20 74 63 6c 78 20 74 63 6c 78 6d 6c  ludp tclx tclxml
1b00: 5c 0d 0a 20 20 20 20 74 64 6f 6d 20 74 69 66 66  \..    tdom tiff
1b10: 20 54 69 78 20 74 6b 69 6d 67 20 74 6b 74 61 62   Tix tkimg tktab
1b20: 6c 65 20 74 6b 74 72 65 65 63 74 72 6c 20 76 75  le tktreectrl vu
1b30: 20 78 6f 74 63 6c 20 7a 69 6e 74 0d 0a 63 64 20   xotcl zint..cd 
1b40: 6a 6e 69 2f 74 63 6c 2d 70 6b 67 73 0d 0a 72 6d  jni/tcl-pkgs..rm
1b50: 20 2d 72 66 20 74 64 62 63 6d 79 73 71 6c 31 2e   -rf tdbcmysql1.
1b60: 30 2e 33 20 74 64 62 63 73 71 6c 69 74 65 33 2d  0.3 tdbcsqlite3-
1b70: 31 2e 30 2e 33 20 69 74 63 6c 34 2e 30 2e 33 20  1.0.3 itcl4.0.3 
1b80: 73 71 6c 69 74 65 33 2e 38 2e 38 2e 33 20 74 64  sqlite3.8.8.3 td
1b90: 62 63 6f 64 62 63 31 2e 30 2e 33 5c 0d 0a 20 20  bcodbc1.0.3\..  
1ba0: 20 20 74 68 72 65 61 64 32 2e 37 2e 32 20 74 64    thread2.7.2 td
1bb0: 62 63 31 2e 30 2e 33 20 74 64 62 63 70 6f 73 74  bc1.0.3 tdbcpost
1bc0: 67 72 65 73 31 2e 30 2e 33 0d 0a 0d 0a 63 64 20  gres1.0.3....cd 
1bd0: 61 6e 64 72 6f 77 69 73 68 0d 0a 72 6d 20 2d 72  androwish..rm -r
1be0: 66 20 74 6b 63 68 61 74 20 0d 0a 0d 0a 63 64 20  f tkchat ....cd 
1bf0: 61 73 73 65 74 73 0d 0a 72 6d 20 2d 72 66 20 62  assets..rm -rf b
1c00: 69 6e 20 62 6c 74 32 2e 34 20 62 77 69 64 67 65  in blt2.4 bwidge
1c10: 74 31 2e 39 2e 37 20 43 61 6e 76 61 73 33 64 31  t1.9.7 Canvas3d1
1c20: 2e 32 2e 31 20 65 78 70 65 63 74 35 2e 34 35 2e  .2.1 expect5.45.
1c30: 32 20 67 72 69 64 70 6c 75 73 32 2e 31 30 20 69  2 gridplus2.10 i
1c40: 63 6f 6e 73 31 2e 32 20 69 74 63 6c 34 2e 30 2e  cons1.2 itcl4.0.
1c50: 33 5c 0d 0a 20 20 69 74 6b 34 2e 30 2e 31 20 69  3\..  itk4.0.1 i
1c60: 77 69 64 67 65 74 73 34 2e 31 20 6e 73 66 32 2e  widgets4.1 nsf2.
1c70: 30 2e 30 20 70 64 66 34 74 63 6c 30 38 20 72 61  0.0 pdf4tcl08 ra
1c80: 6c 30 2e 31 31 2e 32 20 72 61 6c 75 74 69 6c 30  l0.11.2 ralutil0
1c90: 2e 31 31 2e 32 20 73 71 6c 69 74 65 33 20 54 63  .11.2 sqlite3 Tc
1ca0: 6c 43 75 72 6c 37 2e 32 32 2e 30 5c 0d 0a 20 20  lCurl7.22.0\..  
1cb0: 74 63 6c 6c 69 62 31 2e 31 36 20 74 63 6c 73 6f  tcllib1.16 tclso
1cc0: 61 70 31 2e 36 2e 38 20 74 63 6c 77 73 32 2e 33  ap1.6.8 tclws2.3
1cd0: 2e 38 20 74 63 6c 78 38 2e 34 2e 31 20 54 63 6c  .8 tclx8.4.1 Tcl
1ce0: 78 6d 6c 33 2e 32 20 74 64 62 63 31 2e 30 2e 33  xml3.2 tdbc1.0.3
1cf0: 20 74 64 62 63 73 71 6c 69 74 65 33 2d 31 2e 30   tdbcsqlite3-1.0
1d00: 2e 33 20 74 64 6f 6d 30 2e 38 5c 0d 0a 20 20 74  .3 tdom0.8\..  t
1d10: 68 72 65 61 64 32 2e 37 2e 32 20 74 6b 69 6d 67  hread2.7.2 tkimg
1d20: 31 2e 34 2e 33 2c 20 74 6b 6c 69 62 30 2e 36 2c  1.4.3, tklib0.6,
1d30: 20 74 6b 73 71 6c 69 74 65 30 2e 35 2e 31 31 2c   tksqlite0.5.11,
1d40: 20 74 6b 74 61 62 6c 65 32 2e 31 31 20 74 72 65   tktable2.11 tre
1d50: 65 63 74 72 6c 32 2e 34 2e 31 20 76 75 32 2e 33  ectrl2.4.1 vu2.3
1d60: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d  ..</verbatim>...
1d70: 0a 54 68 69 73 20 72 65 73 75 6c 74 73 20 69 6e  .This results in
1d80: 20 61 6e 20 61 6e 64 72 6f 77 69 73 68 20 73 69   an androwish si
1d90: 7a 65 20 6f 66 20 31 37 4d 42 2c 20 73 6f 20 36  ze of 17MB, so 6
1da0: 20 4d 42 20 6c 65 73 73 20 74 68 61 6e 20 74 68   MB less than th
1db0: 65 20 66 75 6c 6c 20 70 61 63 6b 61 67 65 2e 0d  e full package..
1dc0: 0a 0d 0a 3c 68 33 3e 52 65 6d 6f 76 65 20 74 61  ...<h3>Remove ta
1dd0: 72 67 65 74 20 78 38 36 3c 2f 68 33 3e 0d 0a 0d  rget x86</h3>...
1de0: 0a 46 6f 72 20 6d 6f 73 74 20 41 6e 64 72 6f 69  .For most Androi
1df0: 64 20 70 68 6f 6e 65 73 2c 20 74 68 65 20 74 61  d phones, the ta
1e00: 72 67 65 74 20 61 72 6d 65 61 62 69 20 69 73 20  rget armeabi is 
1e10: 73 75 66 66 69 63 69 65 6e 74 2e 0d 0a 53 6f 20  sufficient...So 
1e20: 74 68 65 20 74 61 72 67 65 74 20 78 38 36 20 6d  the target x86 m
1e30: 69 67 68 74 20 62 65 20 64 65 6c 65 74 65 64 3a  ight be deleted:
1e40: 0d 0a 52 65 6d 6f 76 65 20 22 78 38 36 22 20 69  ..Remove "x86" i
1e50: 6e 20 66 69 6c 65 20 6a 6e 69 2f 41 70 70 6c 69  n file jni/Appli
1e60: 63 61 74 69 6f 6e 2e 6d 6b 20 74 6f 20 67 65 74  cation.mk to get
1e70: 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 41  :..<verbatim>..A
1e80: 50 50 5f 41 42 49 20 3a 3d 20 61 72 6d 65 61 62  PP_ABI := armeab
1e90: 69 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  i..</verbatim>..
1ea0: 0d 0a 54 68 69 73 20 72 65 73 75 6c 74 73 20 69  ..This results i
1eb0: 6e 20 61 20 66 69 6e 61 6c 20 61 70 6b 20 73 69  n a final apk si
1ec0: 7a 65 20 6f 66 20 31 30 4d 42 2e 0d 0a 4d 79 20  ze of 10MB...My 
1ed0: 70 68 6f 6e 65 20 73 61 79 73 20 74 68 61 74 20  phone says that 
1ee0: 69 74 20 74 61 6b 65 73 20 31 39 2e 37 20 4d 42  it takes 19.7 MB
1ef0: 2c 20 77 68 69 6c 65 20 41 6e 64 72 6f 57 69 73  , while AndroWis
1f00: 68 20 74 61 6b 65 73 20 33 39 2e 33 4d 42 2e 0d  h takes 39.3MB..
1f10: 0a 0d 0a 3c 68 33 3e 49 6e 63 6c 75 64 65 20 6f  ...<h3>Include o
1f20: 77 6e 20 73 63 72 69 70 74 3c 2f 68 33 3e 0d 0a  wn script</h3>..
1f30: 0d 0a 4e 6f 77 2c 20 74 68 65 20 73 63 72 69 70  ..Now, the scrip
1f40: 74 20 74 72 65 65 20 6f 66 20 74 68 65 20 61 70  t tree of the ap
1f50: 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 63 6f 70  plication is cop
1f60: 69 65 64 20 74 6f 20 61 73 73 65 74 73 2f 61 70  ied to assets/ap
1f70: 70 20 61 6e 64 20 61 20 6d 61 69 6e 2e 74 63 6c  p and a main.tcl
1f80: 20 69 73 20 74 68 65 72 65 20 74 6f 20 62 65 20   is there to be 
1f90: 73 74 61 72 74 65 64 3a 0d 0a 3c 76 65 72 62 61  started:..<verba
1fa0: 74 69 6d 3e 0d 0a 63 64 20 61 73 73 65 74 73 0d  tim>..cd assets.
1fb0: 0a 6d 6b 64 69 72 20 61 70 70 0d 0a 63 64 20 61  .mkdir app..cd a
1fc0: 70 70 0d 0a 63 70 20 3c 73 6f 6d 65 77 68 65 72  pp..cp <somewher
1fd0: 65 3e 2f 6d 61 69 6e 2e 74 63 6c 20 2e 0d 0a 63  e>/main.tcl ...c
1fe0: 70 20 2d 72 20 3c 73 6f 6d 65 77 68 65 72 65 3e  p -r <somewhere>
1ff0: 2f 2a 20 2e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d  /* ...</verbatim
2000: 3e 0d 0a 41 6e 20 22 61 6e 74 20 64 65 62 75 67  >..An "ant debug
2010: 22 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 73  " results in a s
2020: 74 61 72 6b 69 74 2d 6c 69 6b 65 20 61 70 6b 20  tarkit-like apk 
2030: 66 69 6c 65 2e 0d 0a 0d 0a 3c 68 33 3e 52 65 6d  file.....<h3>Rem
2040: 6f 76 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20  ove permissions 
2050: 6e 6f 74 20 72 65 71 75 69 72 65 64 20 66 6f 72  not required for
2060: 20 74 68 65 20 61 70 70 3c 2f 68 33 3e 0d 0a 49   the app</h3>..I
2070: 6e 20 22 2e 2f 41 6e 64 72 6f 69 64 4d 61 6e 69  n "./AndroidMani
2080: 66 65 73 74 2e 78 6d 6c 22 2c 20 79 6f 75 20 6d  fest.xml", you m
2090: 61 79 20 64 65 6c 65 74 65 20 61 6e 79 20 70 65  ay delete any pe
20a0: 72 6d 69 73 73 69 6f 6e 2c 20 62 75 74 3a 0d 0a  rmission, but:..
20b0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20 20 3c 75  <verbatim>..  <u
20c0: 73 65 73 2d 70 65 72 6d 69 73 73 69 6f 6e 20 61  ses-permission a
20d0: 6e 64 72 6f 69 64 3a 6e 61 6d 65 3d 22 61 6e 64  ndroid:name="and
20e0: 72 6f 69 64 2e 70 65 72 6d 69 73 73 69 6f 6e 2e  roid.permission.
20f0: 49 4e 54 45 52 4e 45 54 22 20 2f 3e 0d 0a 3c 2f  INTERNET" />..</
2100: 76 65 72 62 61 74 69 6d 3e 0d 0a 41 70 70 6c 69  verbatim>..Appli
2110: 63 61 74 69 6f 6e 20 77 69 6c 6c 20 64 69 72 65  cation will dire
2120: 63 74 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 69  ctly terminate i
2130: 66 20 6e 6f 74 20 70 72 65 73 65 6e 74 2e 0d 0a  f not present...
2140: 0d 0a 3c 68 33 3e 43 68 61 6e 67 65 20 70 61 63  ..<h3>Change pac
2150: 6b 61 67 65 20 6e 61 6d 65 3c 2f 68 33 3e 0d 0a  kage name</h3>..
2160: 0d 0a 49 6e 20 22 2e 2f 41 6e 64 72 6f 69 64 4d  ..In "./AndroidM
2170: 61 6e 69 66 65 73 74 2e 78 6d 6c 22 2c 20 79 6f  anifest.xml", yo
2180: 75 20 73 68 6f 75 6c 64 20 63 68 61 6e 67 65 20  u should change 
2190: 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65  the package name
21a0: 20 74 6f 20 62 65 20 64 69 66 66 65 72 65 6e 74   to be different
21b0: 20 74 6f 20 61 6e 64 72 6f 77 69 73 68 2e 0d 0a   to androwish...
21c0: 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 61  Otherwise, the a
21d0: 70 70 6c 69 63 61 74 69 6f 6e 73 20 6d 61 79 20  pplications may 
21e0: 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c 6c 65 64  not be installed
21f0: 20 74 6f 67 65 74 68 65 72 2e 0d 0a 0d 0a 49 6e   together.....In
2200: 20 22 2e 2f 41 6e 64 72 6f 69 64 4d 61 6e 69 66   "./AndroidManif
2210: 65 73 74 2e 78 6d 6c 22 0d 0a 3c 76 65 72 62 61  est.xml"..<verba
2220: 74 69 6d 3e 0d 0a 20 20 20 20 20 20 20 20 20 20  tim>..          
2230: 70 61 63 6b 61 67 65 3d 22 64 65 2e 65 6c 6d 69  package="de.elmi
2240: 63 72 6f 6e 2e 68 69 62 69 73 63 61 6e 22 0d 0a  cron.hibiscan"..
2250: 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 77 68 65  </verbatim>..whe
2260: 72 65 20 22 64 65 2e 65 6c 6d 69 63 72 6f 6e 2e  re "de.elmicron.
2270: 68 69 62 69 73 63 61 6e 22 20 69 73 20 6d 79 20  hibiscan" is my 
2280: 69 6e 74 65 72 6e 65 74 20 64 6f 6d 61 69 6e 20  internet domain 
2290: 61 6e 64 20 74 68 65 20 61 70 70 6c 69 63 61 74  and the applicat
22a0: 69 6f 6e 20 6e 61 6d 65 20 61 73 20 6c 61 73 74  ion name as last
22b0: 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0d 0a 54 68 69   component...Thi
22c0: 73 20 73 68 6f 75 6c 64 20 62 65 20 61 64 6f 70  s should be adop
22d0: 74 65 64 20 6f 6e 20 72 65 71 75 65 73 74 2e 0d  ted on request..
22e0: 0a 0d 0a 41 64 64 20 69 6e 74 6f 20 22 73 72 63  ...Add into "src
22f0: 2f 74 6b 2f 74 63 6c 2f 77 69 73 68 2f 41 6e 64  /tk/tcl/wish/And
2300: 72 6f 57 69 73 68 2e 6a 61 76 61 22 20 61 74 20  roWish.java" at 
2310: 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 69  the end of the i
2320: 6e 63 6c 75 64 65 20 6c 69 73 74 3a 0d 0a 0d 0a  nclude list:....
2330: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 69 6d 70 6f  <verbatim>..impo
2340: 72 74 20 64 65 2e 65 6c 6d 69 63 72 6f 6e 2e 68  rt de.elmicron.h
2350: 69 62 69 73 63 61 6e 2e 52 3b 0d 0a 3c 2f 76 65  ibiscan.R;..</ve
2360: 72 62 61 74 69 6d 3e 0d 0a 0d 0a 74 6f 20 61 76  rbatim>....to av
2370: 6f 69 64 20 65 72 72 6f 72 3a 0d 0a 3c 76 65 72  oid error:..<ver
2380: 62 61 74 69 6d 3e 6e 6f 6e 65 0d 0a 20 20 20 20  batim>none..    
2390: 5b 6a 61 76 61 63 5d 20 2f 68 6f 6d 65 2f 6f 65  [javac] /home/oe
23a0: 68 68 61 72 2f 61 6e 64 72 6f 69 64 2f 61 6e 64  hhar/android/and
23b0: 72 6f 77 69 73 68 2d 68 69 62 69 73 63 61 6e 2f  rowish-hibiscan/
23c0: 73 72 63 2f 74 6b 2f 74 63 6c 2f 77 69 73 68 2f  src/tk/tcl/wish/
23d0: 41 6e 64 72 6f 57 69 73 68 2e 6a 61 76 61 3a 31  AndroWish.java:1
23e0: 35 31 39 3a 20 65 72 72 6f 72 3a 20 70 61 63 6b  519: error: pack
23f0: 61 67 65 20 52 20 64 6f 65 73 20 6e 6f 74 20 65  age R does not e
2400: 78 69 73 74 0d 0a 20 20 20 20 5b 6a 61 76 61 63  xist..    [javac
2410: 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ]               
2420: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2440: 20 20 52 2e 64 72 61 77 61 62 6c 65 2e 77 69 73    R.drawable.wis
2450: 68 29 3b 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  h);..</verbatim>
2460: 0d 0a 0d 0a 54 68 69 73 20 65 72 72 6f 72 20 6f  ....This error o
2470: 6e 6c 79 20 68 61 70 70 65 6e 73 20 61 66 74 65  nly happens afte
2480: 72 20 61 6e 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  r an..<verbatim>
2490: 0d 0a 61 6e 74 20 63 6c 65 61 6e 0d 0a 3c 2f 76  ..ant clean..</v
24a0: 65 72 62 61 74 69 6d 3e 0d 0a 4f 74 68 65 72 77  erbatim>..Otherw
24b0: 69 73 65 2c 20 74 68 65 20 6f 6c 64 20 63 6c 61  ise, the old cla
24c0: 73 73 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66  ss definition of
24d0: 20 22 74 6b 2e 74 63 6c 2e 77 69 73 68 2e 52 22   "tk.tcl.wish.R"
24e0: 20 69 73 20 73 74 69 6c 6c 20 70 72 65 73 65 6e   is still presen
24f0: 74 20 69 6e 20 74 68 65 20 67 65 6e 20 73 6f 75  t in the gen sou
2500: 72 63 65 20 74 72 65 65 2e 0d 0a 0d 0a 41 64 64  rce tree.....Add
2510: 20 61 20 64 65 72 69 76 65 64 20 63 6c 61 73 73   a derived class
2520: 20 69 6e 20 22 73 72 63 2f 64 65 2f 65 6c 6d 69   in "src/de/elmi
2530: 63 72 6f 6e 2f 68 69 62 69 73 63 61 6e 2f 48 49  cron/hibiscan/HI
2540: 42 49 53 63 61 6e 2e 6a 61 76 61 22 2e 0d 0a 54  BIScan.java"...T
2550: 68 65 20 66 69 6c 65 20 70 61 74 68 20 69 73 20  he file path is 
2560: 63 6f 6d 70 6f 73 65 64 20 6f 66 20 22 73 72 63  composed of "src
2570: 22 20 61 6e 64 20 74 68 65 20 70 61 63 6b 61 67  " and the packag
2580: 65 20 6e 61 6d 65 2c 20 64 6f 74 73 20 72 65 70  e name, dots rep
2590: 6c 61 63 65 64 20 62 79 20 22 2f 22 2e 0d 0a 54  laced by "/"...T
25a0: 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20  he file name is 
25b0: 74 68 65 20 63 6c 61 73 73 20 6e 61 6d 65 2c 20  the class name, 
25c0: 77 68 65 72 65 20 49 20 75 73 65 64 20 74 68 65  where I used the
25d0: 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6e 61 6d   application nam
25e0: 65 2e 0d 0a 0d 0a 46 69 6c 65 20 63 6f 6e 74 65  e.....File conte
25f0: 6e 74 73 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  nts:..<verbatim>
2600: 0d 0a 70 61 63 6b 61 67 65 20 64 65 2e 65 6c 6d  ..package de.elm
2610: 69 63 72 6f 6e 2e 68 69 62 69 73 63 61 6e 3b 0d  icron.hibiscan;.
2620: 0a 69 6d 70 6f 72 74 20 74 6b 2e 74 63 6c 2e 77  .import tk.tcl.w
2630: 69 73 68 2e 2a 3b 0d 0a 70 75 62 6c 69 63 20 63  ish.*;..public c
2640: 6c 61 73 73 20 48 49 42 49 53 63 61 6e 20 65 78  lass HIBIScan ex
2650: 74 65 6e 64 73 20 41 6e 64 72 6f 57 69 73 68 20  tends AndroWish 
2660: 7b 20 7d 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  { }..</verbatim>
2670: 0d 0a 0d 0a 28 43 68 72 69 73 74 69 61 6e 3a 20  ....(Christian: 
2680: 62 79 20 70 72 69 76 61 74 65 20 65 6d 61 69 6c  by private email
2690: 29 20 54 68 65 6e 2c 20 65 61 63 68 20 75 73 61  ) Then, each usa
26a0: 67 65 20 69 6e 20 22 26 6c 74 3b 61 63 74 69 76  ge in "&lt;activ
26b0: 69 74 79 2e 2e 2e 26 67 74 3b 22 20 6f 66 20 22  ity...&gt;" of "
26c0: 74 6b 2e 74 63 6c 2e 77 69 73 68 2e 41 6e 64 72  tk.tcl.wish.Andr
26d0: 6f 57 69 73 68 22 20 69 6e 20 22 41 6e 64 72 6f  oWish" in "Andro
26e0: 69 64 4d 61 6e 69 66 65 73 74 2e 78 6d 6c 22 20  idManifest.xml" 
26f0: 73 68 6f 75 6c 64 20 62 65 20 72 65 70 6c 61 63  should be replac
2700: 65 64 20 62 79 20 22 64 65 2e 65 6c 6d 69 63 72  ed by "de.elmicr
2710: 6f 6e 2e 68 69 62 69 73 63 61 6e 2e 48 69 62 69  on.hibiscan.Hibi
2720: 53 63 61 6e 22 2e 0d 0a 48 65 72 65 2c 20 74 68  Scan"...Here, th
2730: 69 73 20 69 73 20 64 6f 6e 65 20 69 6e 20 74 68  is is done in th
2740: 65 20 6e 65 78 74 20 73 74 65 70 2e 0d 0a 3c 68  e next step...<h
2750: 72 2f 3e 0d 0a 52 65 6d 61 72 6b 3a 20 74 68 65  r/>..Remark: the
2760: 20 75 73 61 67 65 20 6f 66 20 61 20 64 65 72 69   usage of a deri
2770: 76 65 64 20 63 6c 61 73 73 20 64 69 64 20 6e 6f  ved class did no
2780: 74 20 6d 61 6b 65 20 61 6e 79 20 64 69 66 66 65  t make any diffe
2790: 72 65 6e 63 65 20 74 6f 20 6d 65 2e 0d 0a 49 20  rence to me...I 
27a0: 63 6f 75 6c 64 20 73 74 61 79 20 77 69 74 68 20  could stay with 
27b0: 74 68 65 20 63 6c 61 73 73 20 22 74 6b 2e 74 63  the class "tk.tc
27c0: 6c 2e 77 69 73 68 2e 41 6e 64 72 6f 57 69 73 68  l.wish.AndroWish
27d0: 22 2e 0d 0a 4e 65 76 65 72 74 68 65 6c 65 73 73  "...Nevertheless
27e0: 2c 20 43 68 72 69 73 74 69 61 6e 3a 20 72 65 63  , Christian: rec
27f0: 6f 6d 6d 65 6e 64 73 20 69 74 2e 0d 0a 43 6f 6d  ommends it...Com
2800: 6d 65 6e 74 73 20 77 65 6c 63 6f 6d 65 2e 2e 2e  ments welcome...
2810: 0d 0a 0d 0a 3c 68 33 3e 53 74 61 72 74 20 73 63  ....<h3>Start sc
2820: 72 69 70 74 20 64 69 72 65 63 74 6c 79 3c 2f 68  ript directly</h
2830: 33 3e 0d 0a 0d 0a 4c 6f 6f 73 65 20 74 72 61 6e  3>....Loose tran
2840: 73 6c 61 74 69 6f 6e 20 6f 66 20 45 2d 4d 61 69  slation of E-Mai
2850: 6c 20 66 72 6f 6d 20 43 68 72 69 73 74 69 61 6e  l from Christian
2860: 3a 3a 0d 0a 3c 68 72 2f 3e 0d 0a 54 68 65 20 66  ::..<hr/>..The f
2870: 69 6c 65 20 22 41 6e 64 72 6f 69 64 4d 61 6e 69  ile "AndroidMani
2880: 66 65 73 74 2e 78 6d 6c 22 20 66 6f 72 20 6f 77  fest.xml" for ow
2890: 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 73  n applications s
28a0: 68 6f 75 6c 64 20 62 65 74 74 65 20 62 65 20 73  hould bette be s
28b0: 74 72 75 63 74 75 72 65 64 20 73 69 6d 69 6c 61  tructured simila
28c0: 72 20 74 6f 20 22 2e 2e 2e 2f 68 65 6c 6c 6f 74  r to ".../hellot
28d0: 63 6c 74 6b 2f 41 6e 64 72 6f 69 64 4d 61 6e 69  cltk/AndroidMani
28e0: 66 65 73 74 2e 78 6d 6c 22 2e 0d 0a 54 68 65 20  fest.xml"...The 
28f0: 6f 77 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  own application 
2900: 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 73 74  should not be st
2910: 61 72 74 65 64 20 62 79 20 74 68 65 20 61 63 74  arted by the act
2920: 69 76 69 74 79 20 22 41 6e 64 72 6f 57 69 73 68  ivity "AndroWish
2930: 4c 61 75 6e 63 68 65 72 22 2c 20 62 75 74 20 62  Launcher", but b
2940: 65 74 74 65 72 20 64 69 72 65 63 74 6c 79 2c 20  etter directly, 
2950: 75 73 69 6e 67 20 74 68 65 20 72 65 6d 61 69 6e  using the remain
2960: 69 6e 67 20 69 6e 74 65 6e 74 20 66 69 6c 74 65  ing intent filte
2970: 72 3a 0d 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e  r:....<verbatim>
2980: 0d 0a 20 20 20 20 20 20 3c 69 6e 74 65 6e 74 2d  ..      <intent-
2990: 66 69 6c 74 65 72 3e 0d 0a 20 20 20 20 20 20 20  filter>..       
29a0: 20 3c 61 63 74 69 6f 6e 20 61 6e 64 72 6f 69 64   <action android
29b0: 3a 6e 61 6d 65 3d 22 61 6e 64 72 6f 69 64 2e 69  :name="android.i
29c0: 6e 74 65 6e 74 2e 61 63 74 69 6f 6e 2e 4d 41 49  ntent.action.MAI
29d0: 4e 22 20 2f 3e 0d 0a 20 20 20 20 20 20 20 20 3c  N" />..        <
29e0: 63 61 74 65 67 6f 72 79 20 61 6e 64 72 6f 69 64  category android
29f0: 3a 6e 61 6d 65 3d 22 61 6e 64 72 6f 69 64 2e 69  :name="android.i
2a00: 6e 74 65 6e 74 2e 63 61 74 65 67 6f 72 79 2e 4c  ntent.category.L
2a10: 41 55 4e 43 48 45 52 22 20 2f 3e 0d 0a 20 20 20  AUNCHER" />..   
2a20: 20 20 20 3c 2f 69 6e 74 65 6e 74 2d 66 69 6c 74     </intent-filt
2a30: 65 72 3e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e  er>..</verbatim>
2a40: 0d 0a 3c 68 72 2f 3e 0d 0a 53 6f 2c 20 77 69 74  ..<hr/>..So, wit
2a50: 68 69 6e 20 74 68 65 20 22 41 6e 64 72 6f 69 64  hin the "Android
2a60: 4d 61 6e 69 66 65 73 74 2e 78 6d 6c 22 20 66 69  Manifest.xml" fi
2a70: 6c 65 2c 20 74 68 65 72 65 20 61 72 65 20 74 68  le, there are th
2a80: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 68 61 6e  e following chan
2a90: 67 65 73 3a 0d 0a 20 20 20 2a 20 20 20 55 73 65  ges:..   *   Use
2aa0: 20 6f 6e 6c 79 20 6f 6e 65 20 61 63 74 69 76 69   only one activi
2ab0: 74 79 20 77 69 74 68 20 74 68 65 20 6e 65 77 20  ty with the new 
2ac0: 63 6c 61 73 73 20 61 6e 64 20 74 68 65 20 70 72  class and the pr
2ad0: 6f 70 6f 73 65 64 20 69 6e 74 65 6e 74 2d 66 69  oposed intent-fi
2ae0: 6c 74 65 72 2e 0d 0a 20 20 20 2a 20 20 20 49 20  lter...   *   I 
2af0: 63 68 61 6e 67 65 64 20 74 68 65 20 70 72 6f 64  changed the prod
2b00: 75 63 74 20 76 65 72 73 69 6f 6e 20 61 6e 64 20  uct version and 
2b10: 63 6c 61 73 73 20 74 6f 20 36 2e 30 20 61 6e 64  class to 6.0 and
2b20: 20 6e 75 6d 65 72 69 63 20 36 30 30 2c 20 61 73   numeric 600, as
2b30: 20 74 68 69 73 20 69 73 20 74 68 65 20 70 6f 72   this is the por
2b40: 74 20 6f 66 20 61 6e 20 65 78 69 73 74 69 6e 67  t of an existing
2b50: 20 70 72 6f 67 72 61 6d 2c 20 77 68 69 63 68 20   program, which 
2b60: 68 61 73 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62  has version numb
2b70: 65 72 20 36 2e 0d 0a 61 6e 64 20 74 68 65 20 66  er 6...and the f
2b80: 6f 6c 6c 6f 77 69 6e 67 20 63 68 61 6e 67 65 73  ollowing changes
2b90: 20 61 6c 72 65 61 64 79 20 69 6e 20 6f 74 68 65   already in othe
2ba0: 72 20 73 65 63 74 69 6f 6e 73 3a 0d 0a 20 20 20  r sections:..   
2bb0: 2a 20 20 20 55 73 65 20 70 61 63 6b 61 67 65 20  *   Use package 
2bc0: 6e 61 6d 65 20 22 64 65 2e 65 6c 6d 69 63 72 6f  name "de.elmicro
2bd0: 6e 2e 68 69 62 69 73 63 61 6e 22 0d 0a 20 20 20  n.hibiscan"..   
2be0: 2a 20 20 20 55 73 65 20 63 6c 61 73 73 20 22 64  *   Use class "d
2bf0: 65 2e 65 6c 6d 69 63 72 6f 6e 2e 68 69 62 69 73  e.elmicron.hibis
2c00: 63 61 6e 2e 48 49 42 49 53 63 61 6e 22 20 69 6e  can.HIBIScan" in
2c10: 73 74 65 61 64 20 22 74 6b 2e 74 63 6c 2e 77 69  stead "tk.tcl.wi
2c20: 73 68 2e 41 6e 64 72 6f 57 69 73 68 22 0d 0a 20  sh.AndroWish".. 
2c30: 20 20 2a 20 20 20 4f 6e 6c 79 20 6d 69 6e 69 6d    *   Only minim
2c40: 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 0d 0a  al permissions..
2c50: 0d 0a 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20  ..The resulting 
2c60: 66 69 6c 65 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20  file looks like 
2c70: 74 68 61 74 3a 0d 0a 3c 76 65 72 62 61 74 69 6d  that:..<verbatim
2c80: 3e 0d 0a 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e  >..<?xml version
2c90: 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d  ="1.0" encoding=
2ca0: 22 75 74 66 2d 38 22 3f 3e 0d 0a 3c 6d 61 6e 69  "utf-8"?>..<mani
2cb0: 66 65 73 74 20 78 6d 6c 6e 73 3a 61 6e 64 72 6f  fest xmlns:andro
2cc0: 69 64 3d 22 68 74 74 70 3a 2f 2f 73 63 68 65 6d  id="http://schem
2cd0: 61 73 2e 61 6e 64 72 6f 69 64 2e 63 6f 6d 2f 61  as.android.com/a
2ce0: 70 6b 2f 72 65 73 2f 61 6e 64 72 6f 69 64 22 0d  pk/res/android".
2cf0: 0a 20 20 20 20 20 20 20 20 20 20 70 61 63 6b 61  .          packa
2d00: 67 65 3d 22 64 65 2e 65 6c 6d 69 63 72 6f 6e 2e  ge="de.elmicron.
2d10: 68 69 62 69 73 63 61 6e 22 0d 0a 20 20 20 20 20  hibiscan"..     
2d20: 20 20 20 20 20 61 6e 64 72 6f 69 64 3a 69 6e 73       android:ins
2d30: 74 61 6c 6c 4c 6f 63 61 74 69 6f 6e 3d 22 61 75  tallLocation="au
2d40: 74 6f 22 0d 0a 20 20 20 20 20 20 20 20 20 20 61  to"..          a
2d50: 6e 64 72 6f 69 64 3a 76 65 72 73 69 6f 6e 43 6f  ndroid:versionCo
2d60: 64 65 3d 22 36 30 30 22 0d 0a 20 20 20 20 20 20  de="600"..      
2d70: 20 20 20 20 61 6e 64 72 6f 69 64 3a 76 65 72 73      android:vers
2d80: 69 6f 6e 4e 61 6d 65 3d 22 36 2e 30 22 3e 0d 0a  ionName="6.0">..
2d90: 20 20 3c 61 70 70 6c 69 63 61 74 69 6f 6e 20 61    <application a
2da0: 6e 64 72 6f 69 64 3a 6c 61 62 65 6c 3d 22 40 73  ndroid:label="@s
2db0: 74 72 69 6e 67 2f 61 70 70 5f 6e 61 6d 65 22 0d  tring/app_name".
2dc0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2dd0: 61 6e 64 72 6f 69 64 3a 69 63 6f 6e 3d 22 40 64  android:icon="@d
2de0: 72 61 77 61 62 6c 65 2f 61 6e 64 72 6f 77 69 73  rawable/androwis
2df0: 68 22 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  h"..            
2e00: 20 20 20 61 6e 64 72 6f 69 64 3a 61 6c 6c 6f 77     android:allow
2e10: 42 61 63 6b 75 70 3d 22 74 72 75 65 22 0d 0a 20  Backup="true".. 
2e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e                an
2e30: 64 72 6f 69 64 3a 74 68 65 6d 65 3d 22 40 61 6e  droid:theme="@an
2e40: 64 72 6f 69 64 3a 73 74 79 6c 65 2f 54 68 65 6d  droid:style/Them
2e50: 65 2e 4e 6f 54 69 74 6c 65 42 61 72 2e 46 75 6c  e.NoTitleBar.Ful
2e60: 6c 73 63 72 65 65 6e 22 0d 0a 20 20 20 20 20 20  lscreen"..      
2e70: 20 20 20 20 20 20 20 20 20 61 6e 64 72 6f 69 64           android
2e80: 3a 68 61 72 64 77 61 72 65 41 63 63 65 6c 65 72  :hardwareAcceler
2e90: 61 74 65 64 3d 22 74 72 75 65 22 3e 0d 0a 20 20  ated="true">..  
2ea0: 20 20 3c 61 63 74 69 76 69 74 79 20 61 6e 64 72    <activity andr
2eb0: 6f 69 64 3a 6e 61 6d 65 3d 22 64 65 2e 65 6c 6d  oid:name="de.elm
2ec0: 69 63 72 6f 6e 2e 68 69 62 69 73 63 61 6e 2e 48  icron.hibiscan.H
2ed0: 49 42 49 53 63 61 6e 22 0d 0a 20 20 20 20 20 20  IBIScan"..      
2ee0: 20 20 20 20 20 20 20 20 61 6e 64 72 6f 69 64 3a          android:
2ef0: 63 6f 6e 66 69 67 43 68 61 6e 67 65 73 3d 22 6f  configChanges="o
2f00: 72 69 65 6e 74 61 74 69 6f 6e 7c 6b 65 79 62 6f  rientation|keybo
2f10: 61 72 64 48 69 64 64 65 6e 7c 6b 65 79 62 6f 61  ardHidden|keyboa
2f20: 72 64 7c 73 63 72 65 65 6e 53 69 7a 65 7c 6d 6e  rd|screenSize|mn
2f30: 63 7c 6d 63 63 7c 6c 6f 63 61 6c 65 7c 66 6f 6e  c|mcc|locale|fon
2f40: 74 53 63 61 6c 65 7c 75 69 4d 6f 64 65 22 0d 0a  tScale|uiMode"..
2f50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e                an
2f60: 64 72 6f 69 64 3a 6c 61 62 65 6c 3d 22 40 73 74  droid:label="@st
2f70: 72 69 6e 67 2f 61 70 70 5f 6e 61 6d 65 22 3e 0d  ring/app_name">.
2f80: 0a 20 20 20 20 20 20 3c 69 6e 74 65 6e 74 2d 66  .      <intent-f
2f90: 69 6c 74 65 72 3e 0d 0a 20 20 20 20 20 20 20 20  ilter>..        
2fa0: 3c 61 63 74 69 6f 6e 20 61 6e 64 72 6f 69 64 3a  <action android:
2fb0: 6e 61 6d 65 3d 22 61 6e 64 72 6f 69 64 2e 69 6e  name="android.in
2fc0: 74 65 6e 74 2e 61 63 74 69 6f 6e 2e 4d 41 49 4e  tent.action.MAIN
2fd0: 22 20 2f 3e 0d 0a 20 20 20 20 20 20 20 20 3c 63  " />..        <c
2fe0: 61 74 65 67 6f 72 79 20 61 6e 64 72 6f 69 64 3a  ategory android:
2ff0: 6e 61 6d 65 3d 22 61 6e 64 72 6f 69 64 2e 69 6e  name="android.in
3000: 74 65 6e 74 2e 63 61 74 65 67 6f 72 79 2e 4c 41  tent.category.LA
3010: 55 4e 43 48 45 52 22 20 2f 3e 0d 0a 20 20 20 20  UNCHER" />..    
3020: 20 20 3c 2f 69 6e 74 65 6e 74 2d 66 69 6c 74 65    </intent-filte
3030: 72 3e 0d 0a 20 20 20 20 3c 2f 61 63 74 69 76 69  r>..    </activi
3040: 74 79 3e 0d 0a 20 20 3c 2f 61 70 70 6c 69 63 61  ty>..  </applica
3050: 74 69 6f 6e 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 20  tion>....  <!-- 
3060: 41 6e 64 72 6f 69 64 20 32 2e 33 2e 33 20 2d 2d  Android 2.3.3 --
3070: 3e 0d 0a 20 20 3c 75 73 65 73 2d 73 64 6b 20 61  >..  <uses-sdk a
3080: 6e 64 72 6f 69 64 3a 6d 69 6e 53 64 6b 56 65 72  ndroid:minSdkVer
3090: 73 69 6f 6e 3d 22 39 22 20 61 6e 64 72 6f 69 64  sion="9" android
30a0: 3a 74 61 72 67 65 74 53 64 6b 56 65 72 73 69 6f  :targetSdkVersio
30b0: 6e 3d 22 31 34 22 20 2f 3e 0d 0a 0d 0a 20 20 3c  n="14" />....  <
30c0: 21 2d 2d 20 4f 70 65 6e 47 4c 20 45 53 20 32 2e  !-- OpenGL ES 2.
30d0: 30 20 2d 2d 3e 0d 0a 20 20 3c 75 73 65 73 2d 66  0 -->..  <uses-f
30e0: 65 61 74 75 72 65 20 61 6e 64 72 6f 69 64 3a 67  eature android:g
30f0: 6c 45 73 56 65 72 73 69 6f 6e 3d 22 30 78 30 30  lEsVersion="0x00
3100: 30 32 30 30 30 30 22 20 2f 3e 0d 0a 0d 0a 20 20  020000" />....  
3110: 3c 21 2d 2d 20 55 53 42 20 73 75 70 70 6f 72 74  <!-- USB support
3120: 20 2d 2d 3e 0d 0a 20 20 3c 75 73 65 73 2d 66 65   -->..  <uses-fe
3130: 61 74 75 72 65 20 61 6e 64 72 6f 69 64 3a 6e 61  ature android:na
3140: 6d 65 3d 22 61 6e 64 72 6f 69 64 2e 68 61 72 64  me="android.hard
3150: 77 61 72 65 2e 75 73 62 2e 68 6f 73 74 22 20 2f  ware.usb.host" /
3160: 3e 0d 0a 0d 0a 20 20 3c 21 2d 2d 20 44 69 73 61  >....  <!-- Disa
3170: 62 6c 65 20 73 63 72 65 65 6e 20 63 6f 6d 70 61  ble screen compa
3180: 74 69 62 69 6c 69 74 79 20 6d 6f 64 65 73 20 2d  tibility modes -
3190: 2d 3e 0d 0a 20 20 3c 73 75 70 70 6f 72 74 73 2d  ->..  <supports-
31a0: 73 63 72 65 65 6e 73 20 61 6e 64 72 6f 69 64 3a  screens android:
31b0: 73 6d 61 6c 6c 53 63 72 65 65 6e 73 3d 22 74 72  smallScreens="tr
31c0: 75 65 22 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ue"..           
31d0: 20 20 20 20 20 20 20 20 20 61 6e 64 72 6f 69 64           android
31e0: 3a 6e 6f 72 6d 61 6c 53 63 72 65 65 6e 73 3d 22  :normalScreens="
31f0: 74 72 75 65 22 0d 0a 20 20 20 20 20 20 20 20 20  true"..         
3200: 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 72 6f             andro
3210: 69 64 3a 6c 61 72 67 65 53 63 72 65 65 6e 73 3d  id:largeScreens=
3220: 22 74 72 75 65 22 0d 0a 20 20 20 20 20 20 20 20  "true"..        
3230: 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 72              andr
3240: 6f 69 64 3a 78 6c 61 72 67 65 53 63 72 65 65 6e  oid:xlargeScreen
3250: 73 3d 22 74 72 75 65 22 20 2f 3e 0d 0a 0d 0a 20  s="true" />.... 
3260: 20 3c 21 2d 2d 20 41 6c 6c 6f 77 20 77 72 69 74   <!-- Allow writ
3270: 69 6e 67 20 74 6f 20 65 78 74 65 72 6e 61 6c 20  ing to external 
3280: 73 74 6f 72 61 67 65 20 65 74 63 2e 20 2d 2d 3e  storage etc. -->
3290: 0d 0a 20 20 3c 75 73 65 73 2d 70 65 72 6d 69 73  ..  <uses-permis
32a0: 73 69 6f 6e 20 61 6e 64 72 6f 69 64 3a 6e 61 6d  sion android:nam
32b0: 65 3d 22 61 6e 64 72 6f 69 64 2e 70 65 72 6d 69  e="android.permi
32c0: 73 73 69 6f 6e 2e 49 4e 54 45 52 4e 45 54 22 20  ssion.INTERNET" 
32d0: 2f 3e 0d 0a 3c 2f 6d 61 6e 69 66 65 73 74 3e 0d  />..</manifest>.
32e0: 0a 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a  ...</verbatim>..
32f0: 0d 0a 3c 68 33 3e 52 65 73 6f 75 72 63 65 73 3c  ..<h3>Resources<
3300: 2f 68 33 3e 0d 0a 0d 0a 43 68 61 6e 67 65 20 74  /h3>....Change t
3310: 68 65 20 41 70 70 4e 61 6d 65 20 69 6e 20 72 65  he AppName in re
3320: 73 2f 76 61 6c 75 65 73 2f 73 74 72 69 6e 67 73  s/values/strings
3330: 2e 78 6d 6c 0d 0a 0d 0a 43 68 61 6e 67 65 20 74  .xml....Change t
3340: 68 65 20 41 6e 64 72 6f 77 69 73 68 20 69 63 6f  he Androwish ico
3350: 6e 73 20 69 6e 20 72 65 73 2f 64 72 61 77 61 62  ns in res/drawab
3360: 6c 65 2d 2a 2f 61 6e 64 72 6f 77 69 73 68 2e 70  le-*/androwish.p
3370: 6e 67 0d 0a 28 52 65 73 6f 6c 75 74 69 6f 6e 73  ng..(Resolutions
3380: 3a 20 37 32 78 37 32 2c 20 34 38 78 34 38 2c 20  : 72x72, 48x48, 
3390: 39 36 78 39 36 2c 20 31 34 34 78 31 34 34 29 2e  96x96, 144x144).
33a0: 0d 0a 0d 0a 3c 68 33 3e 52 65 6d 6f 76 65 20 66  ....<h3>Remove f
33b0: 6f 6e 74 73 3c 2f 68 33 3e 0d 0a 0d 0a 43 68 72  onts</h3>....Chr
33c0: 69 73 74 69 61 6e 3a 20 73 75 67 67 65 73 74 69  istian: suggesti
33d0: 6f 6e 20 76 69 61 20 45 2d 4d 61 69 6c 3a 0d 0a  on via E-Mail:..
33e0: 32 20 61 64 64 69 74 69 6f 6e 61 6c 20 4d 42 27  2 additional MB'
33f0: 73 20 6d 61 79 20 62 65 20 65 63 6f 6e 6f 6d 69  s may be economi
3400: 7a 65 64 20 62 79 20 6e 6f 74 20 69 6e 63 6c 75  zed by not inclu
3410: 64 69 6e 67 20 74 68 65 20 66 6f 6e 74 20 66 6f  ding the font fo
3420: 6c 64 65 72 20 22 2e 2e 2e 2f 6a 6e 69 2f 73 64  lder ".../jni/sd
3430: 6c 32 74 6b 2f 6c 69 62 72 61 72 79 2f 66 6f 6e  l2tk/library/fon
3440: 74 73 22 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0d  ts" as follows:.
3450: 0a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 63  ...<verbatim>..c
3460: 64 20 6a 6e 69 2f 73 64 6c 32 74 6b 0d 0a 6d 76  d jni/sdl2tk..mv
3470: 20 6c 69 62 72 61 72 79 2f 66 6f 6e 74 73 20 2e   library/fonts .
3480: 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d  ..</verbatim>...
3490: 0a 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74  .In this case, t
34a0: 68 65 20 62 75 69 6c 64 69 6e 20 44 72 6f 69 64  he buildin Droid
34b0: 2a 20 66 6f 6e 74 73 20 61 72 65 20 75 73 65 64  * fonts are used
34c0: 20 61 73 20 66 61 6c 6c 62 61 63 6b 20 77 68 69   as fallback whi
34d0: 63 68 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20  ch are included 
34e0: 69 6e 20 41 6e 64 72 6f 69 64 20 66 69 72 6d 77  in Android firmw
34f0: 61 72 65 2e 0d 0a 54 68 65 79 20 64 6f 6e 27 74  are...They don't
3500: 20 6c 6f 6f 6b 20 73 6f 20 6d 75 63 68 20 6c 65   look so much le
3510: 73 73 20 61 74 74 72 61 63 74 69 76 65 2e 2e 2e  ss attractive...
3520: 0d 0a 0d 0a 54 68 69 73 20 72 65 73 75 6c 74 73  ....This results
3530: 20 69 6e 20 61 20 70 61 63 6b 61 67 65 20 66 69   in a package fi
3540: 6c 65 20 73 69 7a 65 20 6f 66 20 37 2e 38 4d 42  le size of 7.8MB
3550: 0d 0a 0d 0a 4f 6e 20 41 6e 64 72 6f 69 64 20 35  ....On Android 5
3560: 2c 20 74 68 69 73 20 72 65 71 75 69 72 65 73 20  , this requires 
3570: 44 6f 6e 20 51 75 69 78 6f 74 65 20 72 65 6c 65  Don Quixote rele
3580: 61 73 65 20 28 32 30 31 35 2d 30 34 29 20 6f 66  ase (2015-04) of
3590: 20 41 6e 64 72 6f 77 69 73 68 20 74 6f 20 72 75   Androwish to ru
35a0: 6e 2e 0d 0a 4f 74 68 65 72 77 69 73 65 2c 20 41  n...Otherwise, A
35b0: 6e 64 72 6f 77 69 73 68 20 64 6f 65 73 20 6e 6f  ndrowish does no
35c0: 74 20 73 74 61 72 74 20 6f 6e 20 41 6e 64 72 6f  t start on Andro
35d0: 69 64 20 35 2e 0d 0a 0d 0a 3c 68 33 3e 52 65 6c  id 5.....<h3>Rel
35e0: 65 61 73 65 20 73 69 67 6e 69 6e 67 3c 2f 68 33  ease signing</h3
35f0: 3e 0d 0a 0d 0a 43 72 65 61 74 65 20 61 20 72 65  >....Create a re
3600: 6c 65 61 73 65 20 6b 65 79 20 62 79 20 28 72 65  lease key by (re
3610: 70 6c 61 63 65 20 22 65 6c 6d 69 63 72 6f 6e 22  place "elmicron"
3620: 20 62 79 20 79 6f 75 72 20 6f 77 6e 20 6e 61 6d   by your own nam
3630: 65 29 3a 0d 0a 3c 76 65 72 62 61 74 69 6d 3e 0d  e):..<verbatim>.
3640: 0a 63 64 20 7e 2f 61 6e 64 72 6f 69 64 0d 0a 6b  .cd ~/android..k
3650: 65 79 74 6f 6f 6c 20 2d 67 65 6e 6b 65 79 20 2d  eytool -genkey -
3660: 76 20 2d 6b 65 79 73 74 6f 72 65 20 61 6e 64 72  v -keystore andr
3670: 6f 69 64 5f 65 6c 6d 69 63 72 6f 6e 2e 6b 65 79  oid_elmicron.key
3680: 73 74 6f 72 65 20 2d 61 6c 69 61 73 20 61 6e 64  store -alias and
3690: 72 6f 69 64 5f 65 6c 6d 69 63 72 6f 6e 20 2d 6b  roid_elmicron -k
36a0: 65 79 61 6c 67 20 52 53 41 20 2d 6b 65 79 73 69  eyalg RSA -keysi
36b0: 7a 65 20 32 30 34 38 20 2d 76 61 6c 69 64 69 74  ze 2048 -validit
36c0: 79 20 31 30 30 30 30 0d 0a 3c 2f 76 65 72 62 61  y 10000..</verba
36d0: 74 69 6d 3e 0d 0a 59 6f 75 20 67 65 74 20 70 72  tim>..You get pr
36e0: 6f 6d 74 65 64 20 74 6f 20 61 20 6b 65 79 73 74  omted to a keyst
36f0: 6f 72 65 20 70 61 73 73 77 6f 72 64 20 61 6e 64  ore password and
3700: 20 74 68 65 20 6b 65 79 20 76 61 6c 75 65 73 2e   the key values.
3710: 0d 0a 49 20 6f 6e 6c 79 20 66 69 6c 6c 65 64 20  ..I only filled 
3720: 63 6f 6d 6d 6f 6e 20 6e 61 6d 65 20 61 6e 64 20  common name and 
3730: 4f 72 67 61 6e 69 73 61 74 69 6f 6e 2e 0d 0a 54  Organisation...T
3740: 68 65 6e 20 79 6f 75 20 67 65 74 20 70 72 6f 6d  hen you get prom
3750: 70 74 65 64 20 74 6f 20 61 20 6b 65 79 20 70 61  pted to a key pa
3760: 73 73 77 6f 72 64 2e 0d 0a 0d 0a 54 68 69 73 20  ssword.....This 
3770: 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 66 69  generates the fi
3780: 6c 65 20 22 7e 2f 61 6e 64 72 6f 69 64 2f 61 6e  le "~/android/an
3790: 64 72 6f 69 64 5f 65 6c 6d 69 63 72 6f 6e 2e 6b  droid_elmicron.k
37a0: 65 79 73 74 6f 72 65 22 2e 0d 0a 0d 0a 54 68 65  eystore".....The
37b0: 6e 20 61 64 64 20 74 68 6f 73 65 20 6c 69 6e 65  n add those line
37c0: 73 20 74 6f 20 22 7e 2f 61 6e 64 72 6f 69 64 2f  s to "~/android/
37d0: 61 6e 64 72 6f 77 69 73 68 2f 61 6e 74 2e 70 72  androwish/ant.pr
37e0: 6f 70 65 72 74 69 65 73 22 3a 0d 0a 3c 76 65 72  operties":..<ver
37f0: 62 61 74 69 6d 3e 0d 0a 6b 65 79 2e 73 74 6f 72  batim>..key.stor
3800: 65 3d 2e 2e 2f 61 6e 64 72 6f 69 64 5f 65 6c 6d  e=../android_elm
3810: 69 63 72 6f 6e 2e 6b 65 79 73 74 6f 72 65 0d 0a  icron.keystore..
3820: 6b 65 79 2e 61 6c 69 61 73 3d 61 6e 64 72 6f 69  key.alias=androi
3830: 64 5f 65 6c 6d 69 63 72 6f 6e 0d 0a 6b 65 79 2e  d_elmicron..key.
3840: 73 74 6f 72 65 2e 70 61 73 73 77 6f 72 64 3d 3c  store.password=<
3850: 6d 79 70 77 31 3e 0d 0a 6b 65 79 2e 61 6c 69 61  mypw1>..key.alia
3860: 73 2e 70 61 73 73 77 6f 72 64 3d 3c 6d 79 70 77  s.password=<mypw
3870: 32 3e 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  2>..</verbatim>.
3880: 0a 0d 0a 61 6e 64 20 64 6f 0d 0a 3c 76 65 72 62  ...and do..<verb
3890: 61 74 69 6d 3e 0d 0a 61 6e 74 20 72 65 6c 65 61  atim>..ant relea
38a0: 73 65 0d 0a 3c 2f 76 65 72 62 61 74 69 6d 3e 0d  se..</verbatim>.
38b0: 0a 54 68 65 20 66 69 6e 61 6c 20 61 70 6b 20 69  .The final apk i
38c0: 73 20 69 6e 20 22 62 69 6e 2f 41 6e 64 72 6f 57  s in "bin/AndroW
38d0: 69 73 68 2d 72 65 6c 65 61 73 65 2e 61 70 6b 22  ish-release.apk"
38e0: 2e 0d 0a 3c 68 72 2f 3e 0d 0a 32 30 31 35 2d 30  ...<hr/>..2015-0
38f0: 36 2d 30 34 20 48 61 72 61 6c 64 20 4f 65 68 6c  6-04 Harald Oehl
3900: 6d 61 6e 6e 0a 5a 20 66 37 30 65 32 66 33 62 31  mann.Z f70e2f3b1
3910: 35 61 34 62 38 34 65 33 37 62 30 63 30 35 32 65  5a4b84e37b0c052e
3920: 64 66 64 30 38 36 37 0a                          dfd0867.