App 2.19.5: the installer screen fallback reads the APK

The car refuses the silent session for a non-system app; the fallback
installer screen could not read our FileProvider URI because grants
from the system user are refused. The car build now hands it a file
URI to the verified copy in Downloads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
This commit is contained in:
2026-10-23 21:48:46 +02:00
co-authored by Claude Opus 5.5
parent 66b403acb8
commit b6f41079cc
4 changed files with 43 additions and 5 deletions
+11 -3
View File
@@ -71,7 +71,9 @@ version, checks it against the `.sha256`, checks the package, and installs it wi
installer session as an over-the-air update. The car build only; the stable build has no button.
On the Android 9 emulator (car build, system user) this installed without asking, from the
storage's top folder; on the car the stick's top folder is used the same way.
storage's top folder; on the car the stick's top folder is used the same way, and the install
ends on Android's installer screen, confirmed with **Install** (below). Every step, with the
platform's own words, is on the Logs tab under "Updates".
## When it says something else
@@ -100,5 +102,11 @@ path: the app opens the archive itself and streams it in. The approach comes fro
the same wall on the same hardware. Upstream later fell back to "download to Downloads and
tap it"; this fork tries the session first and keeps that as the fallback.
**Not yet tried on this car:** whether the session installs silently as the system user, or
asks for a confirmation.
**On the car (SWI68, 2026-10-23) the session is refused:** the package manager answers
`Not allowed to install non-system apps on internal storage` — a firmware policy for apps that
are not system apps, even when they run as the system user. The app then opens Android's own
installer screen, where the driver confirms with **Install**, the same route the Files app takes.
That screen needs a `file://` URI on the car build: a read grant on our FileProvider is refused
when it comes from the system user (`not exported from UID 1000`), and the installer reports the
unreadable file as "There was a problem parsing the package". On the emulator the session still
installs silently.