Some additional permissions, not coded in Manifest, show up while installing my application on a real device, e.g. I have coded:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
While installing I see also Storage(Modify/delete USB storage contents) and Phone Calls(Read phone status and ID) permissions.
(Activities don’t use any additional permissions.)
I would like to know, how can they be deleted.
Android 1.6 changelog: http://developer.android.com/sdk/android-1.6.html#api
But that is only one of them. For some reason the official change log is missing the info about READ_PHONE_STATE. The full story is cleared up here: http://blogs.zdnet.com/Burnette/?p=1369&page=3
So as you can see, there is no way to publish an app targeted at 1.5 or earlier without requesting those permissions when installed on phones running 1.6 or higher.
Quoting from Android permissions: Phone Calls: read phone state and identity