@ -8,57 +8,58 @@ Session uses [Gradle](http://gradle.org) 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
Dependencies
---------------
You will need Java 8 set up on your machine.
The following steps should help you (re)build Session from the command line.
Ensure that the following packages are installed from the Android SDK manager:
1. Checkout the session-android project source with the command:
* Android SDK Build Tools (see buildToolsVersion in build.gradle)
* SDK Platform (All API levels)
* Android Support Repository
* Google Repository
In Android studio, this can be done 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. You may also need to install API version 28 in the SDK platforms tab.
You will then need to clone and run `./gradlew install` on each of the following repositories IN ORDER:
2. Make sure you have the [Android SDK](https://developer.android.com/sdk/index.html) installed.
3. 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
4. Create a local.properties file at the root of your source checkout and add an sdk.dir entry to it. For example:
This installs these dependencies into a local Maven repository which the main Session Android repository will then draw from.
sdk.dir=/Application/android-sdk-macosx
Setting up a development environment and building from Android Studio
------------------------------------
5. Using Java 8
[Android Studio](https://developer.android.com/sdk/installing/studio.html) is the recommended development environment.
6. Execute Gradle:
1. 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.
2. From the Quickstart panel, choose "Checkout from Version Control" then "git".
3. Paste the URL for the session-android project when prompted (https://github.com/loki-project/session-android.git).
4. Android Studio should detect the presence of a project file and ask you whether to open it. Click "yes".
5. Default config options should be good enough.
6. Right now, the google-services.json file is kept out of the public repository as it contains credentials for Firebase (used for push notifications) authentication. We haven't yet made a way to build the app without this file or without Firebase. Email niels@loki.network to get this file for your build.
7. Project initialisation and building should proceed.
./gradlew build
Building Session from the command line
---------------
Visual assets
----------------------
The following steps should help you (re)build Session from the command line once all dependencies have been acquired.
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](https://github.com/sebkur/android-res-utils).
1. Checkout the session-android project source with the command:
Sample command for generating our audio placeholder image:
2. Make sure you have the [Android SDK](https://developer.android.com/sdk/index.html) installed.
3. Create a local.properties file at the root of your source checkout and add an sdk.dir entry to it. For example:
Setting up a development environment
------------------------------------
sdk.dir=/Application/android-sdk-macosx
[Android Studio](https://developer.android.com/sdk/installing/studio.html) is the recommended development environment.
4. Execute Gradle:
1. Install Android Studio.
2. 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.
3. From the Quickstart panel, choose "Configure" then "SDK Manager".
4. 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.
5. From the Quickstart panel, choose "Checkout from Version Control" then "git".
6. Paste the URL for the session-android project when prompted (https://github.com/loki-project/session-android.git).
7. Android Studio should detect the presence of a project file and ask you whether to open it. Click "yes".
9. Default config options should be good enough.
9. Project initialisation and build should proceed.