Skip to content
Snippets Groups Projects

Building Orbot

Orbot includes, in the external directory, git submodules of:

  • BadVPN
  • JSocks

Please install the following prerequisites (instructions for each follows):

Be sure that you have all of the git submodules up-to-date:

git submodule update --init --recursive

You then need to run "ndk-build" and the following commands to compile and prepare Orbot's native code:

UNIX based

cd orbotservice/src/main
ndk-build #(located in Android/Sdk/ndk/VERSION/)
mv libs/armeabi-v7a/pdnsd libs/armeabi-v7a/libpdnsd.so
mv libs/arm64-v8a/pdnsd libs/arm64-v8a/libpdnsd.so
mv libs/x86/pdnsd libs/x86/libpdnsd.so
mv libs/x86_64/pdnsd libs/x86_64/libpdnsd.so

Windows

cd orbotservice\src\main
ndk-build.cmd (located in Android\Sdk\ndk\VERSION\) 
ren libs\armeabi-v7a\pdnsd libpdnsd.so
ren libs\arm64-v8a\pdnsd libpdnsd.so
ren libs\x86\pdnsd libpdnsd.so
ren libs\x86_64\pdnsd libpdnsd.so

Now build the Android app using Android Studio/gradle

This will produce an unsigned Orbot package APK.

To produce a usable package, you'll need to sign the .apk. The basics on signing can be found on the Android developer site:

http://developer.android.com/guide/publishing/app-signing.html