You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/fdroid.md
+65Lines changed: 65 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,6 +127,71 @@ You can provide `--storage-opt size=30G` flag if Docker complains about running
127
127
128
128
You should also run `lint` and `rewritemeta` for the App ID to verify and fix the YAML metadata formatting.
129
129
130
+
# Scanning Builds Locally
131
+
132
+
Based on the documentation provided here: https://gitlab.com/fdroid/wiki/-/wikis/Tips-for-fdroiddata-contributors/Setting-up-app-submission-development-environment-locally
133
+
134
+
We can locally scan our source code and pre-built APKS by using the FDroid CLI tool. We can prepare a FDroid environment by
135
+
following [the steps mentioned in these instructions](https://gitlab.com/fdroid/wiki/-/wikis/Tips-for-fdroiddata-contributors/Setting-up-app-submission-development-environment-locally).
136
+
* Note, at the time of writing (March 2025), the easiest way to follow these instructions involved:
137
+
* Creating a new empty directory outside of the status-mobile repository.
138
+
* For this example, let's refer to this directory as `status-fdroid-server`
139
+
* Then git cloning the two referenced git repos inside the `status-fdroid-server` directory:
* Then inside a terminal shell run the following command:
181
+
*`env ANDROID_SDK_ROOT=<insert sdk directory> sh scripts/run.sh`
182
+
* Ensure you replace `<insert sdk directory>` with the path to Android SDK folder.
183
+
* On macOS, the value could be: `$HOME/Library/Android/sdk`
184
+
* Once inside the Docker shell environment run the following commands:
185
+
*`sh /scripts/prep.sh`
186
+
* This command should install `xz` utils packages for installing the Nix package manager.
187
+
*`source /scripts/env.sh`
188
+
* This command should populate the Docker shell environment with the `$fdroid` command.
189
+
* Next we can run `cd /build` to enter the `fdroiddata` directory that has been mounted inside the docker environment.
190
+
* And now we can run `$fdroid scanner $build:$(sh /scripts/latest-version-code.sh)` to scan the latest version of the status app that has been registered in the `fdroiddata/metadata/im.status.ethereum.yml` file.
191
+
* Alternatively, we can also copy an APK into the `apks` folder and run `$fdroid scanner /apks/<insert-apk-file-name>`.
192
+
* Ensure that you replace the `<insert-apk-file-name>` with the correct name of the pre-built APK.
193
+
* For example, after running `make release-fdroid`, you can copy the `app-arm64-v8a-release-unsigned.apk` file into the `apks` folder and run `$fdroid scanner /apks/app-arm64-v8arelease-unsigned.apk` inside the docker shell environment.
194
+
130
195
# Details
131
196
132
197
The original research was donein [#8512](https://github.com/status-im/status-mobile/issues/8512).
0 commit comments