commit d02c5ea594508380bc3570fa143ac6c8cc68f283 Author: Jordan jordannh@sent.com Date: Mon Aug 11 11:00:26 2014 -0700
Update BUILD doc to reflect changes in build. --- BUILD | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-)
diff --git a/BUILD b/BUILD index 049eb2e..bd53587 100644 --- a/BUILD +++ b/BUILD @@ -1,5 +1,6 @@
-This document explains how to properly build an Android package of Orbot from source. +This document explains how to properly build an Android package of Orbot from +source.
Orbot includes, in the external directory, git repo submodules of: - Tor @@ -7,45 +8,53 @@ Orbot includes, in the external directory, git repo submodules of: - LibEvent - JTorControl: The Tor Control Library for Java
-The Orbot repo also includes the Privoxy source code of a recent stable release. +The Orbot repo also includes the Polipo source code of a recent stable release.
Please install the following prerequisites (instructions for each follows): ant: http://ant.apache.org/ - Android Native Dev Kit or NDK (for C/C++ code): http://developer.android.com/sdk/ndk/index.html - Android Software Dev Kit or SDK (for Java code): http://developer.android.com/sdk/index.html + Android Native Dev Kit or NDK (for C/C++ code): + http://developer.android.com/sdk/ndk/index.html + Android Software Dev Kit or SDK (for Java code): + http://developer.android.com/sdk/index.html
-You will need to run the 'android' command in the SDK to install the necessary Android platform supports (ICS 4.x or android-15) +You will need to run the 'android' command in the SDK to install the necessary +Android platform supports (ICS 4.x or android-15)
Be sure that you have all of the git submodules up-to-date:
- git submodule init - git submodule update + git submodule update --init --recursive
-To begin building, from the Orbot root directory, you first need to build all external C/native dependencies: +To begin building, from the Orbot root directory, you first need to build all +external C/native dependencies:
export NDK_BASE={PATH TO YOUR NDK INSTALL} make -C external
-At this point, you'll have Tor and Privoxy binaries that can be run on an Android handset. -You can verify the ARM binary was properly built using the following command: +At this point, you'll have Tor and Polipo binaries that can be run on an +Android handset. You can verify the ARM binary was properly built using the +following command:
- file res/raw/tor - file res/raw/privoxy + file external/bin/tor external/bin/polipo You should see something like: -src/or/tor: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped + external/bin/tor: ELF 32-bit LSB executable, ARM, version 1 (SYSV), + dynamically linked (uses shared libs), not stripped + external/bin/polipo: ELF 32-bit LSB executable, ARM, version 1 (SYSV), + dynamically linked (uses shared libs), not stripped
This isn't enough though and we'll now sew up the binary into a small package that will handle basic Tor controlling features.
android update project --name Orbot --target android-15 --path .
-#Now you need to split and copy the tor binary into res/raw. We split it into < 1M chunks -#because some Android devices don't like resources larger than 1M. -#split --bytes=1m $DROID_ROOT/external/tor/tor/src/or/tor res/raw/tor +Now you need to split and copy the tor binary into external/bin. We split it +into < 1M chunks because some Android devices don't like resources larger than +1M. + split --bytes=1m ./external/tor/src/or/tor ./external/bin/tor
Now build the Android app
+ ./update-ant-build ant release
This will produce an unsigned Tor package in ./bin/Orbot-unsigned.apk!
tor-commits@lists.torproject.org