Android Application Permissions

Official Content
This documentation is valid for:

An Android application generated with GeneXus by default requires all these permissions:

INTERNET, ACCESS_NETWORK_STATE, WRITE_EXTERNAL_STORAGE, ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION, READ_CONTACTS, WRITE_CONTACTS, READ_LOGS
 
Some of this may not be required in your application. So, if you want to not require them (avoid that customers not install the app because of security or privacy reasons), you can edit and <GeneXus Installation Directory\Android\Templates\AndroidManifest.xml> and comment them.
 
INTERNET Always required
ACCESS_NETWORK_STATE Always required (to know from where to get the data, if from cache or from internet - for example)
WRITE_EXTERNAL_STORAGE Always required (for caching purposes)
ACCESS_FINE_LOCATION Required if Geolocation API or Geolocation Domain is used
ACCESS_COARSE_LOCATION Required if Geolocation API or Geolocation Domain is used
READ_CONTACTS Required if Addressbook API is used to read contacts
WRITE_CONTACTS Required if Addressbook API is used to save contacts
READ_LOGS Optional, for debugging purposes.

 

More info about this permissions can be read at

http://developer.android.com/reference/android/Manifest.permission.html

 

Notes

Permission scheme depends on the Android version. As from Android Marshmallow, permissions are solicited one-by-one at runtime, and in previous versions, all grants are requested together at installation time.

Android - Permissions