These are the permissions requested by the app during the install process. Here you also can find a short description why I need a specific permission.
android.permission.READ_CONTACTS and android.permission.WRITE_CONTACTS
The app is designed to interact with the contacts on the device so it needs the rigths access the contacts.
android.permission.WRITE_EXTERNAL_STORAGE and android.permission.READ_EXTERNAL_STORAGE
Used to create files on the device e.g. to backup contacts in .vcf files and to read files storing contacts.
android.permission.INTERNET and android.permission.ACCESS_NETWORK_STATE
Used to access contact information available at server connected by a network like the Internet.
android.permission.READ_PHONE_STATE
For licensing the app needs access to device id.
com.android.vending.CHECK_LICENSE
Needed for google licensing mechanism.
android.permission.RECEIVE_BOOT_COMPLETED and android.permission.ACCESS_WIFI_STATE
For the automatic background sync feature.
android.permission.ACCESS_COARSE_LOCATION
To detect which WIFI networks are in range to the device, i.e., to configure the app so that it syncs only when it is connected to a specific network.
android.permission.WAKE_LOCK
For the automatic background sync and to prevent the device to go in sleep mode during operations.
android.permission.MANAGE_ACCOUNTS and android.permission.AUTHENTICATE_ACCOUNTS and android.permission.USE_CREDENTIALS and android.permission.READ_SYNC_SETTINGS and android.permission.WRITE_SYNC_SETTINGS
Used to create and manage android sync accounts to integrate the app in the default contact handling apps.
android.permission.READ_CALENDAR and android.permission.WRITE_CALENDAR
The app has a feature which can be used to automatically create appointments for birthdays and anniversaries at a choosebale calendar so that you wont miss such an event.