Silence uses Gradle to build the project and to maintain dependencies.
The following steps should help you (re)build Silence from the command line.
-
Checkout the source somewhere on your filesystem with
git clone --recursive https://git.silence.dev/Silence/Silence-Android.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\>
-
(Optional) Build Gradle-Witness
./scripts/build-witness.sh
-
Execute Gradle:
./gradlew assembleDebug
If you get a Configuration with name 'default' not found.
, please update submodules:
git submodule init && git submodule update
Sample command for generating our audio placeholder image:
pngs_from_svg.py ic_audio.svg /path/to/Silence/res/ 150 --color #000 --opacity 0.54 --suffix _light
pngs_from_svg.py ic_audio.svg /path/to/Silence/res/ 150 --color #fff --opacity 1.00 --suffix _light
Translations are available on Weblate and automatically updated in the source code. Make sure you run on the latest master
revision.
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 Silence project when prompted (https://github.com/SilenceIM/Silence.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.
Code contributions should be sent via GitLab as merge requests, from feature branches.