From 6a764869a0abff1e9703df997c7e93e42233a49c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Soko=C5=82owski?= Date: Tue, 2 Mar 2021 12:52:48 +0100 Subject: [PATCH] doc/FDROID.md: add explanation of Android build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jakub SokoĊ‚owski Signed-off-by: andrey --- doc/FDROID.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/doc/FDROID.md b/doc/FDROID.md index 0d2835f180..4dbc25643d 100644 --- a/doc/FDROID.md +++ b/doc/FDROID.md @@ -33,7 +33,7 @@ It contains a list of objects defining each release of the application. In order * `versionCode` - Android `versionCode`. We use a timestamp generated by [a script](../scripts/version/gen_build_no.sh). * `commit` - Specific commit SHA1 from which the given release was built. -The `versionCode` should be the same as the one in build that was uplodade to Play Store. +The `versionCode` should be the same as the one in build that was uploaded to Play Store. It can be found in the build logs or by using: ``` > apkanalyzer manifest version-code StatusIm-Mobile-v1.12.0.apk @@ -92,3 +92,14 @@ The original research was done in [#8512](https://github.com/status-im/status-re Normally F-Droid server wants to run Gradle itself, but we do not specify the `gradle` key in order to run `make release-fdroid` ourselves in `build` step. We also add `android/build.gradle` to `scanignore` to avoid F-Droid trying to use Gradle directly. Once the PR is merged it may take a few days for the F-Droid server farm to build and deploy the new version to their site and app. You can look up the current state of builds [here](https://f-droid.org/wiki/index.php?title=Special:RecentChanges&days=7&from=&hidebots=0&hideanons=1&hideliu=1&limit=500) and look for your App ID and a `deploy` change after it. + +# F-Droid Build + +F-Droid requires submitted applications to be free of non Open Source software. For this reason we need to exclude certain Google libraries at build time. + +This is achieved by setting `GOOGLE_FREE=1` in the `.env.release` file. This affects two things: + +1. [Clojure code conditional](../src/status_im/acquisition/core.cljs) which stops use of `get-referrer`. +2. [Gradle build configuration](../android/app/build.gradle) by excluding Google libraries. + +Both are affected by the `.env` file and both are required.