How can very old Android apps continue running for years, while Linux applications sometimes stop working or become unreliable after I install system updates? What differences in their design, packaging, and compatibility models explain this?
3 Answers
Android apps usually interact with the system through a relatively stable, standardized runtime and API. The Android framework can also provide compatibility behavior for apps built against older versions. As long as the app and Android version remain within a compatible range, the app may keep working even when the underlying hardware and system have changed.
Linux is more fragmented. Applications may depend on particular versions of shared libraries, desktop components, utilities, or other packages, and different distributions make different choices about those components. Updating one dependency can occasionally expose an incompatibility, especially with software installed from an old .deb file, tarball, or other package that was not built for the current system. Distribution-maintained packages generally have fewer problems because they are tested against the rest of that distribution.
Formats such as Flatpak and AppImage reduce this problem by bundling much of an application's runtime or libraries with it, so the app depends less on the host system. Android has effectively used a more centralized compatibility layer from the beginning, while traditional Linux desktop software has historically relied more heavily on the distribution's shared libraries. That said, Android apps can also break when system changes are significant, when permissions or security rules change, or when the developer abandons the app.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures