This page was moved to [http://www.androwish.org/index.html/wiki?name=Build+custom+Androwish]. Here, it will be deleted soon. I hope this is ok for anybody. I only want to maintain one page... Thank you, Harald ---- [MG] 27-09-2016 I am, once again, trying my clueless hand at building AndroWish on Windows. For anyone else trying (and for me in the future, as I'll forget in 10 minutes;), I'm going to try and document everything I'm doing, up to wherever I get stuck (or, more optimistically, where it works;). I'm following the link above, and muddling through with further info from a couple of other sources. I'm putting everything in E:\android-build\ for simplicity, and the dir names for the various downloads reflect the latest versions as of today So, here's what I've done so far: 1. Download the Android SDK. From https://developer.android.com/studio/index.html download the latest version under "Get just the command line tools" - currently android-sdk_r24.4.1-windows.zip 1. Unpack the SDK (E:\android-build\android-sdk-windows), run "SDK Manager.exe", and click Install Packages with the selected items. This'll take a while. 1. Download the NDK from https://developer.android.com/ndk/downloads/index.html (Windows 32- or 64-bit, as appropriate), extract to E:\android-build\android-ndk-r12b 1. Download the latest Apache Ant .zip archive from http://ant.apache.org/bindownload.cgi and extract to E:\android-build\apache-ant-1.9.7 1. Download AndroWish source from http://www.androwish.org/download/index.html and extract to E:\android-build\androwish-a05b615f58 1. Add the following to your path: E:\android-build\apache-ant-1.9.7\bin;E:\android-build\android-sdk-windows\tools;E:\android-build\android-ndk-r12b 1. Start -> Run, type "cmd.exe" to open the Command Prompt. In the prompt, type "e:" to switch to the E drive (been so long since I've used the command prompt much that I had to look this up, since "cd" won't do it;) then "cd e:\android-build\androwish-a05b615f58". Using Tab for path completion is your friend (androwish-). 1. As per the docs above, I tried "android update project", and got an error that said I needed to include a path. "android update project --path e:\android-build\androwish-a05b615f58" then gave me an error that there was no target specified. Some Googling gave the solution: 1. Type "android list targets". It'll list at least two with the default SDKs you installed earlier via "SDK Manager.exe" - the latest Android API (v24 for me), and the same again with some Google APIs (Google USB Driver). The first line for each listed is: id: X, or "YYYYY". You can specify either X or YYYYY for --target. For me, that's either "1" or "android-24". So: 1. android update project --path e:\android-build\androwish-a05b615f58 --target 1 1. Run "ant debug". And this is where I hit a problem. It fails with the following error: ====== e:\android-build\androwish-a05b615f58>ant debug Unable to locate tools.jar. Expected to find it in C:\Program Files (x86)\Java\j re1.8.0_101\lib\tools.jar Buildfile: e:\android-build\androwish-a05b615f58\build.xml -set-mode-check: -set-debug-files: -check-env: [checkenv] Android SDK Tools Revision 25.2.2 [checkenv] Installed at E:\android-build\android-sdk-windows -setup: [echo] Project Name: AndroWish [gettype] Project Type: Application -set-debug-mode: -debug-obfuscation-check: -pre-build-links: -pre-build-copies: ndk-build: BUILD FAILED e:\android-build\androwish-a05b615f58\custom_rules.xml:82: Execute failed: java.io.IOException: Cannot run program "ndk-build" (in directory "e:\android-build\androwish-a05b615f58"): CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:426) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:440) at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:629) at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:670) at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:496) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:435) at org.apache.tools.ant.Target.performTasks(Target.java:456) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405) at org.apache.tools.ant.Project.executeTarget(Project.java:1376) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1260) at org.apache.tools.ant.Main.runBuild(Main.java:854) at org.apache.tools.ant.Main.startAnt(Main.java:236) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 24 more Total time: 0 seconds ====== There are ndk-build.cmd scripts in both E:\android-build\android-ndk-r12b (which is in my path) and E:\android-build\android-ndk-r12b\build (the former simply runs the latter). I've tried putting the \build dir in my path instead/as well, but get the same result. I then tried running "ndk-build" manually, which gave me separate errors: ====== e:\android-build\androwish-a05b615f58>ndk-build jni/tcl-pkgs/itcl4.0.5/Android.mk:13: jni/tcl-pkgs/itcl4.0.5/../../tcl-config.mk: No such file or directory jni/tcl-pkgs/sqlite3.14.1/Android.mk:13: jni/tcl-pkgs/sqlite3.14.1/../../tcl-config.mk: No such file or directory jni/tcl-pkgs/tdbc1.0.4/Android.mk:13: jni/tcl-pkgs/tdbc1.0.4/../../tcl-config.mk: No such file or directory jni/tcl-pkgs/thread2.8.0/Android.mk:13: jni/tcl-pkgs/thread2.8.0/../../tcl-config.mk: No such file or directory jni/tcl-pkgs/itcl4.0.5/Android.mk:13: jni/tcl-pkgs/itcl4.0.5/../../tcl-config.mk: No such file or directory jni/tcl-pkgs/sqlite3.14.1/Android.mk:13: jni/tcl-pkgs/sqlite3.14.1/../../tcl-config.mk: No such file or directory jni/tcl-pkgs/tdbc1.0.4/Android.mk:13: jni/tcl-pkgs/tdbc1.0.4/../../tcl-config.mk: No such file or directory jni/tcl-pkgs/thread2.8.0/Android.mk:13: jni/tcl-pkgs/thread2.8.0/../../tcl-config.mk: No such file or directory make: *** No rule to make target `jni/tcl-pkgs/thread2.8.0/../../tcl-config.mk'. Stop. ====== Hrm. That only happens for a few packages, and they're all in the tcl-pkgs error. That seems curious. Opening up those Android.mk files, they all have the lines ====== tcl_path := $(LOCAL_PATH)/../.. include $(tcl_path)/tcl-config.mk LOCAL_ADDITIONAL_DEPENDENCIES += $(tcl_path)/tcl-config.mk ====== which is the wrong path. Changing all of those tcl_path lines to ====== tcl_path := $(LOCAL_PATH)/../../tcl ====== gets around that error, and it starts building all the packages. Guessing this is an AndroWish issue in the current version? After a lot of successful builds along the lines of the first few shown below, it then errors: ====== [armeabi] Compile thumb : crypto_tls <= v3_pku.c [armeabi] Compile thumb : crypto_tls <= v3_pmaps.c [armeabi] Compile thumb : crypto_tls <= v3_prn.c [armeabi] Compile thumb : crypto_tls <= v3_purp.c [armeabi] Compile thumb : crypto_tls <= v3_skey.c [armeabi] Compile thumb : crypto_tls <= v3_sxnet.c [armeabi] Compile thumb : crypto_tls <= v3_utl.c [armeabi] Compile thumb : crypto_tls <= v3err.c [armeabi] SharedLibrary : libcrypto_tls.so arm-linux-androideabi-g++: error: CreateProcess: No such file or directory make: *** [obj/local/armeabi/libcrypto_tls.so] Error 1 ====== And at this point I'm at a loss again. Anyone with more experience have any ideas?