Building the Websockets reborn fork - JavaJens/TextSecure GitHub Wiki

Building Websockets Reborn

  1. Install android studio and use the android SDK manager to download the various libraries. You will need at least these to build properly:

    Android SDK Tools, Android SDK Platform-tools, Android SDK Build-tools, the SDK Platform for the latest version of android (right now 5.1.1), Android Support Repository, Android Support Library, and the Google Repository

  2. Clone the repo and switch to the reborn branch:

git clone https://github.com/JavaJens/TextSecure.git
cd TextSecure
git checkout feature/websocket-reborn
  1. Clone the modified version of libtextsecure-java, and build it, so that it can be used as a dependency in the build process for textsecure.
cd ..
git clone https://github.com/JavaJens/libtextsecure-java.git
cd libtextsecure-java
git checkout fix/maven_local
./gradlew tasks installArchives
  1. Update the gradle-witness sha256 checksum for the new version of libtextsecure-java that you just built, so that dependency verification works:
cd ..
sha256sum ~/.m2/repository/org/whispersystems/textsecure-android/2.8.6/textsecure-android-2.8.6.aar
sha256sum ~/.m2/repository/org/whispersystems/textsecure-java/2.8.6/textsecure-java-2.8.6.jar
$EDITOR TextSecure/build.gradle

You will need to copy and paste the sha256 from the aar file over the line that looks like:

'org.whispersystems:textsecure-android:aec5fc59952d9f5482491091091687816f46be1144342a0244f48fd55d6ab393'

Do the same procedure for textsecure-java-2.8.6.jar.

  1. Run android studio and open textsecure as a project, then go to build -> Generate Signed APK... You will have to make a keystore (as long as your doing this just for yourself, go ahead and fill it with whatever info). You need to give flavor "prod" and build type "websockets" in the next dialogue.

(If you don't want to use android-studio, you'll want to do something like ./gradlew assembleStagingWebsockets and you may have to use java from the command line to sign the apk separately)

  1. Uninstall any previous unsuccessful build of TextSecure/Signal first.

  2. Install TextSecure-prod-websockets.apk onto your phone and enjoy. :) You can use adb install ... or adb push ... (+ manually install it on device) for that.