Commit Graph

3 Commits

Author SHA1 Message Date
70d68b2263 Build Android release APK; fix release build and bump sentry_flutter
Two build-blocking issues fixed to get a release APK building at all:

- flutter_local_notifications (V3-06) requires core library desugaring below API 33; enabled it and added the desugar_jdk_libs dependency.
- sentry_flutter 8.14.2's bundled Kotlin plugin declares languageVersion 1.6, incompatible with this project's Kotlin 2.4.0 toolchain. Bumped to sentry_flutter ^9.0.0 (resolved 9.27.0), which builds clean; left three copyWith deprecation infos from the v9 API as a follow-up, not blocking.

Signed with the debug keystore (release signingConfig still points at debug -- no release signing config exists yet, matches the existing TODO in build.gradle.kts). app-release.apk committed directly (68.7MB, force-added past .gitignore's build/ exclusion) per request, so it can be pushed once a remote exists.
2026-08-19 13:09:30 -05:00
f0f9ed8c34 Verify builds on both platforms; pin Android SDK levels
compileSdk 37 (a dependency requires it; the build fails on 36), minSdk 26 for
parity with the native app, targetSdk 36. AGP auto-installed platform 37, CMake
and a 2.8GB NDK during the build since licences were already accepted.

Both artifacts confirmed: Runner.app and app-debug.apk.

Recorded two deprecation warnings against flutter_foreground_task, the plugin
chosen for Android background liveness in T12: no Swift Package Manager support
on iOS, and it applies KGP on Android. Both are future hard errors, so the
LocationSource seam in T10 matters more than assumed.

Also recorded the disk episode: the plan braced for SDK installs, but builds
were what filled the disk (22 GiB to 3.9 GiB). Recovered to 11 GiB.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 20:28:12 -05:00
725e6f63b7 Scaffold Flutter port: toolchain, project, and Geo
T00 — toolchain green on both platforms. flutter doctor reports no issues.
Pinned Flutter to Temurin 21 (AGP rejects the default JDK 25, same constraint
as the native build) and installed Android cmdline-tools with an explicit
--sdk_root, the trap already documented in the native DEVELOPMENT.md.
No caches were deleted: the 16 GiB disk reading that drove the cleanup plan
re-measured at 36 GiB before anything was removed.

T01 — flutter create for android+ios. applicationId is com.rippr.port, not
com.rippr, so the native app stays installable alongside it during the port;
T27 switches it at cutover.

T02 — geo/geo.dart ported from com.rippr.geo.Geo with all 23 tests, tolerances
and comments carried over unchanged. Kotlin's object namespace became top-level
functions; LatLon stays our own type so the pure layer never depends on
flutter_map.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 20:13:15 -05:00