7 ms·
Android is not a Linux distribution. Whatever runs in your phone is only slightly based on stock kernel.org tarballs.
by otabdeveloper4 4y ago
Android is not a Linux distribution. Whatever runs in your phone is only slightly based on stock kernel.org tarballs.
- zamnos 4y agoBut they're still based on that kernel that's hosted at that Linux website? Do you consider ChromeOS a Linux distro? it's based on Gentoo.
- palata 4y agoI don't know about ChromeOS, but I would definitely consider that Android is not a Linux distribution. To me, a Linux distribution is an OS where, given that I am very comfortable with another Linux distribution, I will quickly be able to find my way around. Does Android have services? As root, can I start/stop them? Can I install libraries somewhere and use them somehow? How do I package an app (other than by running "build" in Android-Studio and letting the magic happen)? Could I install my own window manager? => I don't know any of that, so it's not a Linux distro. As a comparison, SteamOS is based on Arch Linux and has a particular setup (with a read-only "core" partition I guess?), but I am pretty sure that if you give me a shell, I will feel like I am in a Linux distro.
- charcircuit 4y ago>Does Android have services? Yes, every app can define its own services. >As root, can I start/stop them? Yes, you use `am startservice <service>` and `am stopservice`. >How do I package an app (other than by running "build" in Android-Studio and letting the magic happen) If you mean to manually do what the android grable plugin does you can manually call javac to compile your Activity, you can manually call d8 to turn the class into a dex, you can manually call aapt2 to compile your resources, you can manually zip all of it up, you can manually call zip align on that zip, and you can manually call apksigner to sign the apk. >Could I install my own window manager? Android's window manager service is built into system_server. You can't really install your own. Someone could edit WindowManagerService.java, share it with you, and you can rebuild system_server to include that.
- palata 4y agoInteresting, thanks for the answers! Still, to me, this is as close to a Linux distribution as macOS. But yeah I'd like to learn more about Android. Unfortunately I haven't found documentation that got me started. Maybe it is there, but when searching about Android, I tend to get the Android SDK, not Android-as-an-OS stuff. If you have any resources to share then, it would be nice :-).
- charcircuit 4y agoHere is the documentation for AOSP: https://source.android.com/docs https://source.android.com/docs There are also some books about Android's internals, but they are somewhat outdated. One such book is Android Security Internals and is about Android KitKat (2014). Android has evolved since then, but the basic concepts are the same. https://ia600608.us.archive.org/29/items/android-internals/android-internals/android-security-internals.pdf https://ia600608.us.archive.org/29/items/android-internals/a... If you want fully up to date information about something not in the official docs you will probably just have to dig in to the source code. https://cs.android.com/ https://cs.android.com/
- zamnos 4y agoThere's no denying the userland's different, there's just this notion where one's called GNU/Linux and the other ART/Linux (Android RunTime) but the thing they share in common is the Linux kernel, hence the name.
- palata 4y agoSure. Yeah I guess it's not very important. But since we're here :-)... My point was really that if I you say "I work on a Linux distribution", I think about something like Debian/Fedora/Ubuntu/... I could be pedantic and say "oh, is that a GNU/Linux distribution?", to which you could answer "nope, it's Alpine". And then we could debate on exactly what is required to call it "GNU/Linux" and not "something-else/Linux". If now you showed me your computer running Android, I would honestly be very surprised. Why didn't you say "Android" instead of "a Linux distribution"? If you tell me "I run Linux", I won't say "oh, do you not run a userland then?" either. Linux is a kernel, but it is also the name commonly given to a group of OSes that are very similar (and that are commonly referred to as "Linux distributions"). Android is not part of that group.
- charcircuit 4y agoThe same can be said about any other distro. Linux alone is not a complete OS.
- throwaway894345 4y agoI don't care about "is Android really a Linux?" either way, but the distinction the parent is making is that Android extensively modifies the kernel (no idea to what extent android modifies the kernel, but this seems to be the parent's central claim) whereas you're arguing that all distros have their own userland (Linux is a complete OS in the sense of "OS == kernel", but presumably you mean "OS == kernel + userland").
- charcircuit 4y ago>Android extensively modifies the kernel That isn't true. While AOSP does include 203 patches for Linux, you can run Android with a stock Linux kernel.
- otabdeveloper4 4y ago> you can run Android with a stock Linux kernel Which is technically true, but in reality no consumer Android device actually does this, so irrelevant.
- tintedfireglass 4y agoandroid is Linux it's just not GNU/LINUX
- palata 4y agoYes, but the point was about a "Linux distribution". Linux is a kernel, and a "Linux distribution" is generally understood as Linux + some fairly specific userland (generally GNU). Of course it is a gradient, but Android goes pretty far away from the common understanding of "Linux distribution".
- otabdeveloper4 4y agoIt's not a Linux because consumer devices don't run kernels from kernel.org. At best it is "based on Linux", or maybe "Linux-compatible". This is an extremely important distinction, because proprietary kernels and drivers is why you can't install a different Linux distribution on your Samsung or Xiaomi phone.