Skip to content

Self-update: in-app APK download + install on Android #88

Description

@krazyjakee

Part of the Godot→Flutter migration (#79). Sibling of the desktop self-update work.

Current state

On Android the updater only links to the .apk asset (platformAssetUrl().apk, update_controller.dart:194-195); the user must manually download and tap it. In-place install is deferred (update_controller.dart:75-78).

What's needed

  • Download the matched .apk (daccord-android.apk) to app storage with progress UI.
  • Launch the system package installer via an ACTION_VIEW/ACTION_INSTALL_PACKAGE intent over a FileProvider URI.
  • Request/justify REQUEST_INSTALL_PACKAGES ("install unknown apps") permission and guide the user through enabling it.
  • Handle the post-install relaunch.

Notes

  • Play Store builds can't sideload — this path is for the direct-download distribution only. If a Play listing is added later, that uses in-app updates instead (separate concern).
  • Reference: the Godot client hands the APK to OS.shell_open (../daccord/scripts/autoload/updater.gd _apply_android_update).

Acceptance

Tapping "Update" downloads the APK and opens the installer in one flow, with the permission prompt handled gracefully.


Migrated from DaccordProject/daccord-app#81

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions