Prepare isolated Android Edge Client 4.410.160 update channel

This commit is contained in:
Andrei Smaliak 2026-10-14 07:56:44 +02:00
parent 0107f92eae
commit f8a580026f
5 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,38 @@
# Edge Client Android channel
This channel is for `com.magicby.broadcaster.client`, ARM64 Qt Edge Client.
It is independent of the mobile IOMATEX `latest.json` at the repository root.
Public manifest: https://git.it-screen.com/An-J/DOWNLOAD_IOMATEX_APP/raw/branch/main/edge-client/android/latest.json
The client checks `build_number` against its installed Android versionCode;
only a higher value is eligible. Required manifest fields: package_name,
build_number, architecture (arm64-v8a), min_sdk, apk_url (HTTPS raw URL in this
repository), sha256, size_bytes. `enabled: false` pauses new downloads. This
cannot revoke an APK already handed to Android installation.
All published APKs here retain the existing Edge test-fleet certificate SHA256
071f8fc7b4324eb9584154810c203f9fad9b0d06409b5606e2f18eb8084fa103.
This is NOT the mobile IOMATEX production key or the legacy itscreen_21.apk key.
The client requires equality with its installed signing certificate.
## Release procedure
1. Increase the Edge Client versionName/versionCode and run regression tests.
2. Build ARM64 APK and sign using the retained Edge key outside Git.
3. Run It-screenClient/scripts/prepare-android-git-release.py with the signed APK,
this repository root and Android SDK build-tools paths.
4. Review APK/version/checksum and commit the new immutable release directory
together with edge-client/android/latest.json. Never modify root latest.json.
5. After authorized push, fetch both raw URLs without credentials and verify
size/SHA-256; test upgrade on a device with the matching package/signature.
6. Rollbacks require another build with a greater versionCode. Keep old releases.
Auto-update can install silently only with working root privileges. Otherwise
Android presents its installer, which may require user confirmation and install
permission. Failed automatic installation is not retried in a loop for the same
version; the user can explicitly retry. Error details are retained in service
preferences (`update_error`) and Android logs; root output is update-install.log.
The first migration from the old HTTP channel requires installing the new APK
once. Old binaries do not discover this Git channel by themselves.

View File

@ -0,0 +1,14 @@
{
"schema_version": 1,
"package_name": "com.magicby.broadcaster.client",
"version": "4.410.160",
"build_number": 4410160,
"architecture": "arm64-v8a",
"min_sdk": 23,
"enabled": true,
"apk_url": "https://git.it-screen.com/An-J/DOWNLOAD_IOMATEX_APP/raw/branch/main/edge-client/android/releases/4.410.160-4410160/itscreen-4.410.160-arm64-v8a.apk",
"sha256": "aa8a38cc136477325246dfb1f731b112c62f354f1a47c7f9c7dc4f25238e522c",
"size_bytes": 25588971,
"signer_sha256": "071f8fc7b4324eb9584154810c203f9fad9b0d06409b5606e2f18eb8084fa103",
"published_at": "2026-10-14T05:55:09.667878+00:00"
}

View File

@ -0,0 +1 @@
aa8a38cc136477325246dfb1f731b112c62f354f1a47c7f9c7dc4f25238e522c itscreen-4.410.160-arm64-v8a.apk

View File

@ -0,0 +1,14 @@
{
"schema_version": 1,
"package_name": "com.magicby.broadcaster.client",
"version": "4.410.160",
"build_number": 4410160,
"architecture": "arm64-v8a",
"min_sdk": 23,
"enabled": true,
"apk_url": "https://git.it-screen.com/An-J/DOWNLOAD_IOMATEX_APP/raw/branch/main/edge-client/android/releases/4.410.160-4410160/itscreen-4.410.160-arm64-v8a.apk",
"sha256": "aa8a38cc136477325246dfb1f731b112c62f354f1a47c7f9c7dc4f25238e522c",
"size_bytes": 25588971,
"signer_sha256": "071f8fc7b4324eb9584154810c203f9fad9b0d06409b5606e2f18eb8084fa103",
"published_at": "2026-10-14T05:55:09.667878+00:00"
}