mirror of
https://github.com/sschueller/peertube-android
synced 2024-12-12 08:36:03 +01:00
1.9 KiB
1.9 KiB
Reproducible Builds
Note: reproducible builds work starting version 1.1.0
Install Docker
Download and install Docker.
Check your Thorium app version and build timestamp
- Open the Thorium app
- Go to Settings
- Check the app version listed under About 'Version' (e.g., 1.1.0), and record its value to be used later
- Check the build timestamp under About 'Build Time' (e.g., 1593942384524), and record its value to be used later
Download the App open-source code
- Make sure you have
git
installed - Clone the Github repository
- Checkout the Tag that corresponds to the version of your Thorium app (e.g., 1.1.0)
git clone https://github.com/sschueller/peertube-android ~/peertube-android
cd ~/peertube-android
git checkout v1.1.0
Build the project using Docker
- Build a Docker Image with the required Android Tools
- Build the App in the Docker Container while specifying the build timestamp that was recorded earlier (e.g., 1593942384524)
- Copy the freshly-built APK
cd ~/peertube-android
docker build -t thorium-builder .
docker run --rm -v ~/dp3t-app-android-ch:/home/peertube-android -w /home/peertube-android thorium-builder gradle assembleProdRelease -PkeystorePassword=securePassword -PkeyAliasPassword=securePassword -PkeystoreFile=build.keystore -PbuildTimestamp=1593942384524
cp app/build/outputs/apk/prod/release/app-prod-release.apk thorium-built.apk
Extract the Play Store APK from your phone
- Make sure you have
adb
installed - Connect your phone to your computer
- Extract the APK from the phone
cd ~/peertube-android
adb pull `adb shell pm path net.schueller.peertube | cut -d':' -f2` thorium-store.apk
Compare the two files
- Make sure you have
python
installed - Use the
apkdiff
script to compare the APKs
cd ~/peertube-android
python apkdiff.py thorium-built.apk thorium-store.apk