2.8 KiB
Building TextSecure
Basics
TextSecure uses Gradle to build the project and to maintain dependencies.
Building TextSecure
The following steps should help you (re)build TextSecure from the command line.
-
Checkout the source somewhere on your filesystem with
git clone https://github.com/WhisperSystems/TextSecure.git
-
Make sure you have the Android SDK installed somewhere on your system.
-
Ensure that the following packages are installed from the Android SDK manager:
- Android SDK Build Tools
- SDK Platform
- Android Support Repository
- Google Repository
-
Create a local.properties file at the root of your source checkout and add an sdk.dir entry to it.
sdk.dir=\<path to your sdk installation\>
-
Execute Gradle:
./gradlew build
Visual assets
Source assets tend to be large binary blobs, which are best stored outside of git repositories. We host ours in a Pixelapse repository. Some source files are SVGs that can be auto-colored and sized using a tool like android-res-utils.
Sample command for generating our audio placeholder image:
pngs_from_svg.py ic_audio.svg /path/to/TextSecure/res/ 150 --color #000 --opacity 0.54 --suffix _light
pngs_from_svg.py ic_audio.svg /path/to/TextSecure/res/ 150 --color #fff --opacity 1.00 --suffix _light
Setting up a development environment
Android Studio is the recommended development environment.
- Install Android Studio.
- Make sure the "Android Support Repository" is installed in the Android Studio SDK.
- Make sure the latest "Android SDK build-tools" is installed in the Android Studio SDK.
- Create a new Android Studio project. from the Quickstart pannel (use File > Close Project to see it), choose "Checkout from Version Control" then "git".
- Paste the URL for the TextSecure project when prompted (https://github.com/WhisperSystems/TextSecure.git).
- Android studio should detect the presence of a project file and ask you whether to open it. Click "yes".
- Default config options should be good enough.
- Project initialisation and build should proceed.
Contributing code
Code contributions should be sent via github as pull requests, from feature branches as explained here.
Mailing list
Development discussion happens on the whispersystems mailing list. To join Send emails to whispersystems@lists.riseup.net