feat(android): add Pixel 10 optimized build profile
Pixel 10 APK / build (push) Failing after 7m26s

This commit is contained in:
Codex
2026-08-09 17:19:52 +02:00
parent 7b942e9bc3
commit 05e8639b67
6 changed files with 273 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
# MrbWebLibre for Google Pixel 10
This fork keeps WebLibre's upstream behavior and adds a focused build profile
for the Google Pixel 10 family.
## What is optimized
- **ARM64 only:** Pixel 10 uses a 64-bit Tensor G5 platform. The `pixel10`
flavor excludes unused 32-bit native libraries, reducing the APK size and
eliminating accidental 32-bit packaging.
- **Impeller enabled:** the Flutter renderer remains enabled for smooth GPU
rendering on the 60120 Hz Pixel display.
- **High refresh rate by default:** WebLibre's existing `RefreshRateMode.high`
default is retained. It can still be changed under General settings when
battery life matters more than maximum smoothness.
- **16 KB page-size gate:** every native ARM64 library in the final APK is
checked for 16 KB-compatible ELF LOAD-segment alignment. This catches an
incompatible Gecko, Flutter, Tor, or proxy binary before the APK is shipped.
- **Separate app identity:** `cc.mrblake.mrbweblibre` installs alongside the
upstream `eu.weblibre.gecko` app and cannot overwrite an upstream-signed APK.
The fork deliberately does not spoof the device model or change Gecko web
preferences only for Pixels. Those changes would increase fingerprinting and
make upstream security updates harder to merge.
## Build
Use the Flutter and Android versions pinned by the upstream CI workflow, build
the generated assets and native runtime, then run:
```bash
melos run build-browser-pixel10 --no-select
```
The command produces:
```text
apps/weblibre/build/app/outputs/flutter-apk/app-pixel10-release.apk
```
Release builds require the same signing environment variables as upstream:
`KEY_PATH`, `KEY_ALIAS`, and `KEY_PASSWORD`.
## Verify an existing APK
```bash
scripts/verify-pixel10-apk.sh path/to/app-pixel10-release.apk
```
The verifier requires `unzip` and GNU `readelf` (usually supplied by the
`binutils` package).
## Keeping the fork current
The upstream remote should point at `https://github.com/FaFre/WebLibre.git`.
Rebase the `pixel10` branch on upstream `main`, run the full test suite, build
the APK, and do a real-device smoke test before publishing an update.