Skip to content

[Android] Allow APK downgrades #19325

Description

@davidhedlund

Is there an existing issue for this?

  • This is a bug in RetroArch frontend
  • I have searched the existing issues

Description

It is not possible to downgrade RetroArch to an older version.

Expected behavior

Expected behavior is that installing a stable or older version over a nightly build (or a newer stable version over an older stable one) either succeeds or gracefully handles the VersionCode mismatch without blocking installation errors.

Steps to reproduce the bug

Scenario A (Nightly to Stable)

RetroArch

Do you want to update this app?
[Cancel] [Update]

  • Select [Update].

RetroArch
App not installed as package appears to be invalid.

[Done]

Scenario B (Stable to Older Stable)

  • Install a newer stable release (e.g., v1.22.2).
  • Attempt to downgrade to a previous version (e.g., v1.22.1).
  • Observe the Android package manager prompt:
RetroArch

Do you want to update this app?
[Cancel] [Update]

RetroArch
App not installed as package appears to be invalid.

[Done]

  • Select [Update].

Scenario C (Nightly to Stable Via Obtainium)

  • Open Obtainium on Android.
  • Click + Add, select Crowdsourced app configurations, click Browse all apps, and search for RetroArch (or visit Obtainium Apps Catalog).
  • Install a Nightly build (e.g., RetroArch, RetroArch (AArch64), or RetroArch (32-bit)).
  • Attempt to downgrade the installation by switching to or installing a Stable version.

Some errors occurred

Cannot install an older version of an app (VersionCode 1785633370 → 1763607214)
[RetroArch]

[Okay]

Version/Commit

1.22.2

Bisect Results

No response

Present in the nightly version

Yes, this is reproduced in the nightly build

Platform & operating system

Android

Affected Cores

No response

Environment information

No response

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions