-
Notifications
You must be signed in to change notification settings - Fork 283
How to build this project
Submodules are used (previously also LFS), clone and update submodules.
Run the following command to get all submodules:
git submodule init && git submodule update
To build with Android Studio:
-
Download Android studio here:
-
When Android Studio is started
- choose import project and pick the build.gradle file inside the runnerup folder or
- fork the github repo and import from github into Android studio
-
If Android Studio asks about what gradle to use, choose "gradle wrapper".
-
Let Android Studio sync the project
-
Press on the play button and the project should compile and deploy to your device!
To build from command line
-
Install Android Sdk e.g. in /home/your-name/Android/Sdk
e.g using Android studio ?
-
Install git lfs
-
Checkout grade wrapper using lfs
git lfs checkout
- Set ANDROID_HOME=/home/your-name/Android/Sdk
export ANDROID_HOME=/home/your-name/Android/Sdk
- Build
./gradlew assembleDebug
RunnerUp uses a few external libraries like Google Play Services and ANT+. The F-Droid version is not allowed to include those libraries, so the app deletes the libs when building. See the F-Droid build script too: https://gitlab.com/fdroid/fdroiddata/tree/master/metadata
Even if the source is open (except the external libraries), the client secrets to access services are not open but private to the builder. This especially applies to the Play release key, only available for the maintainer. Some other keys can be added manually.
RunnerUp uses a free account, that may run out of quota.
The route or path of an activity or workout is displayed via the Mapbox Map SDK.
You will need a mapbox account and an access token to build the app with a map view included.
Choose as scope of the token styles:read
and fonts:read
(should be enough).
Create the file mapbox.properties
in the root of your project and put there your token you've created for runnerup:
mapboxAccessToken="<token>"
See also the build configuration file app/build.gradle
where the mapbox.properties
file is read.
By default, upload to RunAlyze is possible to the testing server. To update to the live server, contact the RunAlyze team to get a client secret/id. This is likely only granted if you are doing a permanent fork of the application. Add the following to runalyze.properties
# suppress inspection "UnusedProperty" for whole file
CLIENT_ID="<your id>"
CLIENT_SECRET="<your secret>"
Register an app at https://www.dropbox.com/developers/apps/
Add the id/secret to dropbox.properties similar as for RunAlyze.
Run lint for both the app and wear
Update the changelog and add a release text file for F-Droid.
./gradlew app:assembleLatestRelease
./gradlew wear:assembleRelease
Create release Copy the message for an existing release to get the download counter.
./gradlew app:bundleLatestRelease
F-Droid releases are built when creating a tag for a release with a _free
suffix.
Buildserver output almost realtime: https://f-droid.org/wiki/index.php?title=Special:RecentChanges&days=30&from=&hidebots=0&hideanons=1&hideliu=1&limit=500