this post was submitted on 19 Jul 2023
1887 points (99.5% liked)

196

16738 readers
1956 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 2 years ago
MODERATORS
1887
Android rule (lemmy.blahaj.zone)
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 
you are viewing a single comment's thread
view the rest of the comments
[–] gerbler 148 points 1 year ago (4 children)

Android's file structure is so incomprehensible. I'm genuinely surprised there hasn't been any significant effort made to make it more readable. Pictures saved in app directories, downloads, camera, images, pictures, media, DCIM???.

[–] Metallibus 101 points 1 year ago* (last edited 1 year ago) (1 children)

I'm genuinely surprised there hasn't been any significant effort made to make it more readable.

Quite the opposite. They've tried to make it better, and in turn, they've made it worse.

They used to have a pretty straightforward Linux file structure, and you were expected to put things in the external Pictures folder. And downloads went to the external Downloads folder. Back then, internal storage was small and SDs were large, so apps couldn't really afford to store these things locally and the SD structure was well enough defined that it was pretty clear where pictures would go.

Now, Google has pushed against SD cards. They also started requiring more permissions for external storage. They've added some "documents" APIs that were supposed to make it easier to tag/find files, but it's a tangled mess and most apps don't touch it. And they've rewritten their storage model multiple times at this point. If you're writing a new app, it's unclear which model to even follow anymore because Google has created a giant cluster fuck of options and paradigms.

Google is actively making this problem worse and worse. I wish they had never tried to "fix" this in the first place.

[–] [email protected] 42 points 1 year ago (1 children)

xkcd “standards” comes to mind

[–] [email protected] 23 points 1 year ago (1 children)

We don't even have to link the relevant xkcds anymore

[–] kameecoding 13 points 1 year ago (1 children)

there was that joke where every joke is already known so instead of telling the joke they just say the number of it.

wonder if we ever get there, someone will just reply, xkcd 375

[–] yogurtwrong 60 points 1 year ago* (last edited 1 year ago) (3 children)

Open source developer and Linux enthusiast here. Although cluttered, Android's home directory is fairly simple to understand

The nightmare begins when you take a look at the root filesystem.

One time I was trying to port an OS to my phone and I had to figure out the Android init system. Went to source.android.com and what. the. fuck. Just as a side-by-side comparison:

Linux boot sequence: Android boot sequence (unmodded, SIMPLE):

There are so many wrong things about it like why are there 11, 12 places to put programs (/system/bin, /bin, /usr/bin /system/usr/bin, /sbin, /system/usr/share/bin...)

Why the fuck drivers are scattered around folders instead of just /lib/modules

Why is the home directory /storage/emulated/0/ instead of just /home/0/ (also why the user is named "0")

Where the fuck is everything???

God (Linus Torvalds) forgive me but even Windows is better than that shit

[–] [email protected] 29 points 1 year ago (1 children)

i wonder if that graphic is up to date with system as root and A/B dynamic partitioning and whatever crazy new bullshit google invents with every release

[–] IverCoder 24 points 1 year ago* (last edited 1 year ago)

I raise you all of these monstrosities:

  • Phones launching with Android 13 without a dedicated partition for recovery mode

Phones launching with Android 13 without a dedicated partition for recovery mode

  • Phones launching with Android 13 with two dedicated partitions for recovery mode (two because of A/B partitioning scheme)

Phones launching with Android 13 with a two dedicated partitions for recovery mode

  • Phones launching with Android 13 with one dedicated partition for recovery mode (only one because A/B partitioning scheme is not used)

Phones launching with Android 13 with one dedicated partition for recovery mode

  • Phones that launch with or upgrade to Android 12, that use a generic kernel image, without a dedicated partition for recovery mode

Phones that launch with or upgrade to Android 12, that use a generic kernel image, without a dedicated partition for recovery mode

  • Phones that launch with or upgrade to Android 12, that use a generic kernel image, with two dedicated partitions for recovery mode (A/B partitioning scheme)

Phones that launch with or upgrade to Android 12, that use a generic kernel image, with two dedicated partitions for recovery mode

  • Phones that launch with or upgrade to Android 12, that use a generic kernel image, with one dedicated partition for recovery mode (non-A/B partitioning scheme)

Phones that launch with or upgrade to Android 12, that use a generic kernel image, with one dedicated partition for recovery mode

  • Phones that upgrade to Android 12, that does not use a generic kernel image, with no dedicated partition for recovery mode

Phones that launch with or upgrade to Android 12, that does not use a generic kernel image, with no dedicated partition for recovery mode

  • Phones that upgrade to Android 12, that does not use a generic kernel image, with dedicated partition(s) for recovery mode

Phones that upgrade to Android 12, that does not use a generic kernel image, with dedicated partition(s) for recovery mode

In Android's defense however, a phone would likely use only one of these layouts at a time. The question of which of these layouts does a said phone uses though, that's a more complicated question.

[–] [email protected] 10 points 1 year ago

That's not correct though. The GNU+Linux version is missing the bootloader and initramfs.

[–] [email protected] 3 points 1 year ago (2 children)

The Linux boot sequence link doesn't work for me

[–] [email protected] 20 points 1 year ago* (last edited 1 year ago)

Init

^

|

Linux Kernel

[–] [email protected] 10 points 1 year ago (1 children)

It's a graph, showing a red oval with the text "Linux Kernel", an arrow points from the red oval to a light-green oval titled "Init".

"Linux Kernel" --→ "Init"

[–] [email protected] 35 points 1 year ago

Tbh it doesn't really matter since your gallery shows all of them in one place.

That is until you want to transfer your pictures to a pc...

[–] [email protected] 10 points 1 year ago

I feel like if anything they made effort to not have people touch the file manager ever