soroq_flutter 0.1.1
soroq_flutter: ^0.1.1 copied to clipboard
Flutter plugin and Android runtime bridge for the Soroq OTA platform.
soroq_flutter #
soroq_flutter is the Flutter-facing plugin for Soroq.
It bundles the Dart runtime bridge, the Android plugin/bootstrap layer, and the native startup/update wiring that Soroq uses on Android.
What It Includes #
- a reusable Dart API for the
soroq/engine_runtimemethod channel - runtime info, cold-start state, and auto-update state models
- Android startup wiring through a manifest-merged init provider
- native startup/update coordinators and the Rust JNI bridge packaging
- re-exports of the pure Dart
soroq_sdkmodels and client
For the smallest public onboarding flow, start here:
- docs/public-alpha-android-quickstart.md
Installation #
dependencies:
soroq_flutter: ^0.1.1
Basic Setup #
Add a project-level soroq.yaml:
app_id: com.example.app
channel: stable
Import the package from Dart:
import 'package:soroq_flutter/soroq_flutter.dart';
Then use SoroqEngineRuntimeBridge to inspect runtime state, read startup
results, and configure auto-update behavior.
The public CLI flow around this package is now:
soroq init --app-id com.example.app
soroq status
soroq release android --artifact /absolute/path/to/app-release.aab --release-id my-release
soroq patch android --base-artifact /absolute/path/to/base.aab --candidate-artifact /absolute/path/to/candidate.aab --release-id my-release
soroq rollback --patch-id my-patch
What Is Proven Today #
- Android cold-start bootstrap through the shared plugin/runtime layer
- hosted patch-check and boot-report flows
- staged asset/config OTA on Android
- release-AOT owner-package OTA on the real Play-installed Lynqo app
runtime_managed_dartas a proven research/dev lane
Compatibility Truth #
This package is not a claim of universal stock-Flutter compatibility yet.
The current real OTA lanes are validated against a Soroq-compatible pinned Flutter toolchain, including tracked Flutter framework/engine patch seams in this repository. If a team is on a different Flutter version, they should use an explicitly supported Soroq toolchain release rather than assuming arbitrary cross-version compatibility.
In practical terms:
- the pure Dart control-plane layer is easier to share broadly
- the Android plugin/runtime layer is more version-sensitive
- the full OTA shipping path currently depends on Soroq-maintained Flutter fork/patch alignment
Status #
This package is part of the current Soroq public-alpha preparation work. It is real and proven on Android, but the broader product is still being hardened toward a more Shorebird-like developer experience.
Local Repo Development #
This repository uses a local pubspec_overrides.yaml so the plugin can depend
on the sibling soroq_sdk package before both packages are published.
Internal Proof Helpers #
For repository-local validation, the repo still includes the existing proof helpers:
source ../../scripts/engine_env.sh
../../scripts/verify_zero_touch_consumer_app.sh
source ../../scripts/engine_env.sh
../../scripts/verify_zero_touch_consumer_aot_code_patch.sh
source ../../scripts/engine_env.sh
../../scripts/verify_zero_touch_consumer_aot_rollback.sh