2.8 KiB
Building Session
Basics
Session uses Gradle to build the project and to maintain
dependencies. However, you needn't install it yourself; the
"gradle wrapper" gradlew
, mentioned below, will do that for you.
Building Session
The following steps should help you (re)build Session from the command line.
-
Checkout the session-android project source with the command:
git clone https://github.com/loki-project/session-android.git
-
Make sure you have the Android SDK installed.
-
Ensure that the following packages are installed from the Android SDK manager:
- Android SDK Build Tools (see buildToolsVersion in build.gradle)
- SDK Platform (All API levels)
- 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. For example:
sdk.dir=/Application/android-sdk-macosx
-
Using Java 8
-
Execute Gradle:
./gradlew build
Visual assets
Source assets tend to be large binary blobs, which are best stored outside of git repositories. 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/Session/res/ 150 --color #000 --opacity 0.54 --suffix _light
pngs_from_svg.py ic_audio.svg /path/to/Session/res/ 150 --color #fff --opacity 1.00 --suffix _light
Setting up a development environment
Android Studio is the recommended development environment.
- Install Android Studio.
- Open Android Studio. On a new installation, the Quickstart panel will appear. If you have open projects, close them using "File > Close Project" to see the Quickstart panel.
- From the Quickstart panel, choose "Configure" then "SDK Manager".
- In the SDK Tools tab of the SDK Manager, make sure that the "Android Support Repository" is installed, and that the latest "Android SDK build-tools" are installed. Click "OK" to return to the Quickstart panel.
- From the Quickstart panel, choose "Checkout from Version Control" then "git".
- Paste the URL for the session-android project when prompted (https://github.com/loki-project/session-android.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.