That's a bit of a handwavy explanation, there's more to it than that, but that's the gist of why you can't "directly" run apps on Android.
More important parts of the installation process is configuring the default permission set for the application, creating its linux user and it's data directories. (In Android every app runs under its own linux user, and by default only has access to a specific data directory created for that app, to access other directories you need broader filesystem permissions). But this could technically still be done at runtime.
The bigger problem requiring installation would be features where the OS needs to start the app up - notifications, or app's background processes. Although even there some kind of temporary installation at runtime could work...