3 ms·
That's because .apk's are essentially ZIP archives -- they contain assets required for the executable as well as a manifest declaring permissions. That's a bit
by gavinray 1y ago
That's because .apk's are essentially ZIP archives -- they contain assets required for the executable as well as a manifest declaring permissions.
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.
- treyd 1y agoAnd you kinda still can, in a terminal emulator, it just can't behave like an app since it won't integrate with the system UI.
- black3r 1y agoThe assets aren't extracted during installation though. The APK is copied as is, the executable files are extracted to a cache, but that can technically be done at runtime. 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...