{"repo":"shivanshu877/inhouse-codepush","free":true,"listed":false,"github":"https://github.com/shivanshu877/inhouse-codepush","clone":"git clone https://github.com/shivanshu877/inhouse-codepush.git","description":"Self-hosted over-the-air code push for Flutter (Android) — ship Dart-only updates to installed apps without a Play Store release. An open-source, DIY alternative to Shorebird: dashboard + API, the engine hook, build/push tooling, and a runnable example app.","language":"Dart","stars":17,"topics":["android","code-push","dart","dart-frog","flutter","hot-update","ota","self-hosted","shorebird-alternative"],"license":"MIT","category":"mobile-apps","readme_excerpt":"In-House Code Push A self-hosted over-the-air (OTA) code-push system for Flutter (Android) — ship Dart changes to installed apps without a Play Store release. It's a do-it-yourself alternative to Shorebird/CodePush: you run the dashboard, you patch the engine, you own every byte. Status: works end-to-end (emulator + real devices). Android-only. Self-hosted and dependency-light. Read the Hard rules before shipping — a patch built against the wrong engine or release will crash. --- How it works A Flutter Android release build compiles your Dart to a native AOT snapshot, libapp.so , baked into the APK. This project lets the engine load a newer libapp.so downloaded at runtime instead. Three pieces make that happen: 1. The engine hook ( engine/flutter-loader-hook.patch ) — 16 lines added to the engine's FlutterLoader.java . Before loading the APK's bundled snapshot, it checks for /inhouse patches/libapp.so and, if present, registers it as the first AOT library candidate. The engine tries candidates in order and falls back, so a missing or corrupt patch is safe — the app just runs its shipped code. 2. The in-app updater ( flutter/inhouse updater.dart ) — fire-and-forget at startup. Calls the dashboard's check API; if a newer patch exists, downloads the new libapp.so into the app's files dir. Takes effect on the next launch. 3. The dashboard + tooling ( server/ , tooling/ ) — a Dart Frog server with a web dashboard (upload a patch, pick a branch to build, roll back, download the APK","default_branch":null,"files":null,"tree":[],"storefront":"/r/shivanshu877","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shivanshu877/inhouse-codepush/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}