feature: In-app update support for sideloaded Android apps (app version + APK install)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- android, flutter, python
- 領域
- mobile-dev
調査の方向性
Start by reviewing the Flet 1.0 API and the Android integration performed by flet build, then evaluate the proposed package_info_plus and ota_update approaches. Done means exposing app version, build number, and package name to Python, and optionally downloading an APK with progress and invoking the user-confirmed install flow with the required permission and FileProvider configuration.
索引モデルが issue の本文から書いたものです。
説明
Duplicate Check
- I have searched the opened issues and there are no duplicates
Describe the requested feature
Apps distributed outside Google Play (GitHub Releases, own website) have no built-in way to handle updates. This matters for apps that can't or won't be on Play, and for apps with fast-moving Python dependencies (e.g. yt-dlp) that break when the installed version gets old.
Today, as far as I could find in the Flet 1.0 API, there is no way to read the running app's own version (versionName / versionCode) from Python, so an app can't reliably compare itself against the latest release. Installing a downloaded APK also requires native code (FileProvider + install intent + REQUEST_INSTALL_PACKAGES).
In scope: sideloaded Android apps. Out of scope: Google Play in-app updates (a separate API) and silent installs (Android always requires user confirmation).
Suggest a solution
- Expose the app package info at runtime, e.g. a service backed by
package_info_plus(version, build number, package name). - An optional service to download an APK with progress and trigger the system install prompt, e.g. backed by
ota_update, withflet buildadding the needed permission/FileProvider when enabled.
With (1) alone, apps can already check GitHub Releases on startup/resume and open the APK URL with UrlLauncher. (2) makes the flow feel native.
Additional details
Related: #6695 (Python-only updates without rebuilding native assets), which would complement this for fixing Python dependencies between APK releases.
- 主要言語
- Python
- スター
- 17.1k
- フォーク
- 708
- 平均マージ
- 1日 17時間
- マージ済み PR(30日)
- 46
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
flet-dev/flet のほかの issue
-
bug controls
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
bug: Interactive Viewer renders grey text when passed alignment対応中かも @ndonkoHenri が 5 日前に担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
flet-dev/flet#6744 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
feature request
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
namespace operations
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
EclipseFdn/open-vsx.org#13573 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
collective/icalendar#1854 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
rancher/rancher-ai-agent#412 ·
メンテナーはふだん 6 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
TUDelftGeodesy/DePSI#134 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
HenriquesLab/rxiv-maker#335 ·