Docs: new package ID and APK names

OTA.md, mise.toml and docs/MG4_PLATFORM_INSTALL.md now use
com.stinnesbeck.nilsmg4(.unstable) and NilsMG4-*.apk. OTA.md says the
updater is switched off and that its publishing steps are upstream's
GitHub process; it also drops the old four-part version example.
CHANGELOG.md keeps the old ID as upstream history.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QLJfZQZeAKAwSqViTmLzki
This commit is contained in:
2026-10-18 00:09:52 +02:00
co-authored by Claude Opus 5.5
parent 4b858e3c35
commit 9bebf56b3a
4 changed files with 23 additions and 17 deletions
+14 -9
View File
@@ -17,7 +17,8 @@ UI; it becomes available to OTA only after publication as a pre-release asset na
`FatihsMG4-unstable-2.2.7.apk`, together with
`FatihsMG4-unstable-2.2.7.apk.sha256`.
The vehicle artifact uses `com.evsuite.abrp.unstable`, `android.uid.system`, and the
The vehicle artifact uses `com.stinnesbeck.nilsmg4.unstable` (upstream: `com.evsuite.abrp.unstable`),
`android.uid.system`, and the
DriveHub_Kamera platform key. Its certificate SHA-256 must be
`c8a2e9bccf597c2fb6dc66bee293fc13f2fc47ec77bc6b2b0d52c11f51192ab8`.
The stable build used for a Samsung UI preview is a separate package without OTA or the
@@ -25,8 +26,12 @@ vehicle's shared UID; do not use that preview APK for the MG4 upgrade.
## What the updater actually looks for
`OtaUpdater.check()` reads `https://api.github.com/repos/fatihdonmezdev/FatihsMG4/releases`
and walks **every** entry, keeping the highest version rather than the first match. A
> **Switched off in Nils' MG4.** `RELEASES_API` points at `updates.invalid`, so every check
> fails. To re-enable it, point it at this repository's releases and add the host to
> `ALLOWED_HOSTS` (see `SPECS.md`). The steps below are upstream's GitHub process.
`OtaUpdater.check()` reads the `RELEASES_API` URL (upstream:
`https://api.github.com/repos/fatihdonmezdev/FatihsMG4/releases`) and walks **every** entry, keeping the highest version rather than the first match. A
release is a candidate only if all of these hold:
| Requirement | Where it is enforced | What happens otherwise |
@@ -55,7 +60,7 @@ The version comes from the **asset filename**, not the git tag. The tag can stay
versionName "2.2.7"
```
The unstable flavour appends its own suffix, so `2.2.7` becomes `2.2.7.0-unstable`.
The unstable flavour appends its own suffix, so `2.2.7` becomes `2.2.7-unstable`.
Check what the installed build reports before picking a number: the app's About
dialog shows it, and `isNewer` compares numerically segment by segment.
@@ -79,24 +84,24 @@ The version comes from the **asset filename**, not the git tag. The tag can stay
"$BT/apksigner" sign \
--key "$KEYS/platform.pk8" \
--cert "$KEYS/platform.x509.pem" \
--out FatihsMG4-unstable-2.2.7.apk \
--out NilsMG4-unstable-2.2.7.apk \
aligned.apk
rm aligned.apk
```
The output filename **is** the version the updater reads. Name it
`FatihsMG4-unstable-<version>.apk`, then create its required integrity sidecar:
`NilsMG4-unstable-<version>.apk` (`build-car` does steps 2 to 4 and names it so), then create its required integrity sidecar:
```bash
shasum -a 256 FatihsMG4-unstable-2.2.7.apk \
> FatihsMG4-unstable-2.2.7.apk.sha256
shasum -a 256 NilsMG4-unstable-2.2.7.apk \
> NilsMG4-unstable-2.2.7.apk.sha256
```
4. **Verify the signer** before uploading. It must say `CN=Android`:
```bash
"$BT/apksigner" verify --print-certs FatihsMG4-unstable-2.2.7.apk
"$BT/apksigner" verify --print-certs NilsMG4-unstable-2.2.7.apk
```
5. **Publish.** On github.com/fatihdonmezdev/FatihsMG4 → Releases → Draft a new release: