view the rest of the comments
Android
DROID DOES
Welcome to the droidymcdroidface-iest, Lemmyest (Lemmiest), test, bestest, phoniest, pluckiest, snarkiest, and spiciest Android community on Lemmy (Do not respond)! Here you can participate in amazing discussions and events relating to all things Android.
The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:
Rules
1. All posts must be relevant to Android devices/operating system.
2. Posts cannot be illegal or NSFW material.
3. No spam, self promotion, or upvote farming. Sources engaging in these behavior will be added to the Blacklist.
4. Non-whitelisted bots will be banned.
5. Engage respectfully: Harassment, flamebaiting, bad faith engagement, or agenda posting will result in your posts being removed. Excessive violations will result in temporary or permanent ban, depending on severity.
6. Memes are not allowed to be posts, but are allowed in the comments.
7. Posts from clickbait sources are heavily discouraged. Please de-clickbait titles if it needs to be submitted.
8. Submission statements of any length composed of your own thoughts inside the post text field are mandatory for any microblog posts, and are optional but recommended for article/image/video posts.
Community Resources:
We are Android girls*,
In our Lemmy.world.
The back is plastic,
It's fantastic.
*Well, not just girls: people of all gender identities are welcomed here.
Our Partner Communities:
what restrictions?
You now can't even sideload an app with a target SDK level that is too low. This locks you out of a bunch of older abandoned FOSS apps that often are very lightweight on storage.
sidenote: what is the purpose of the target SDK? why do both minimum and target SDKs have to exist?
The purpose is backward and forward compatibility respectively.
The minimum version is the easiest to explain: any older, and your app just won't run. Don't even try. I (app) don't have the compatibility code to work with you if you are older than my minimum version because I didn't choose to include it, and you (Android) don't know the changes that were made in the future platform versions, so you can't help me.
Target version is a little more complex. This is the version of the API that I am designed to run with. You can use this information to set compatibility parameters for forward compatibility. For example, if I try to use API that doesn't exist in your version or that would have had different behavior, you would know what I'm expecting because I declared to you what it was designed for at the time. This allows the system to tolerate your outdatedness better.
However, that compatibility feature sometimes leads to security issues because the new API tends to be more restricted or improved in ways that enhance security and privacy, hence the argument why there should be a minimum target version to express that you cannot use the less secure API even for the sake of compatibility.