Understanding Android permissions

A recent thread about Angry Birds permissions was moved to the game room. I’d like to ask an expanded question and invite discussion.

What are the various Android permissions used for? Which should I be concerned with? Does the answer differ whether I’m installing something on my phone or tablet? I’m fairly Android-ignorant, so a recommendation of the eleventy things I’d want to know about the OS would be helpful too—or a site(s) that cover those sorts of things.

I’ve used Android for two years and for the life of me I gave up on trying to understand permissions. Supposedly, you are supposed to do a mental matrix of permissions asked for vs. permissions that you think a legit app would ask for based on the marketing presented in the Marketplace (as if). If one of the dozen or so permissions asked for seems/feels to you like it shouldn’t be there then you snagged yourself a virus-infested app ( :smiley: )

A lot of android apps have built-in usage analytics, such as Flurry, and thus require web access even if their content has nothing to do with accessing the web. Some permissions are non-obvious, for example (IIRC) the “phone state” permission is required in order for the app to be able to uniquely identify the device it runs on for the analytics purposes.

For kids’ apps (which I write) you have to meticulously remove all those permissions and functionality because parents are paranoid. For other apps developers don’t bother.