1.9 KiB
1.9 KiB
Reproducible Builds
Note: reproducible builds work starting version 1.0.45
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.0.44), 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.0.44)
git clone https://github.com/sschueller/peertube-android ~/peertube-android
cd ~/peertube-android
git checkout v1.0.44
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 ~/Private/peertube:/home/peertube -w /home/peertube thorium-builder gradle assembleRelease -PkeystorePassword=securePassword -PkeyAliasPassword=securePassword -PkeystoreFile=build.keystore -PbuildTimestamp=1593973044091
cp app/build/outputs/apk/release/app-release-unsigned.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 shell pm path net.schueller.peertube
adb pull /data/app/net.schueller.peertube-mCeISw_AujlMBHyPfVhdSg==/base.apk thorium-store.apk
Compare the two files
- Make sure you have
python
installed - Use the
apkdiff
script to compare the APKs
cd ~/peertube-android
./apkdiff.py thorium-built.apk thorium-store.apk