For a long time, Google Maps Android SDK requires us to have WRITE_EXTERNAL_STORAGE permission. It was not the case when they first released the SDK. About 2 years ago, I was using the Maps fine in my application and suddenly with an update, I had the following crash:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tasomaniac.example/com.tasomaniac.example.MapActivity}: java.lang.SecurityException: The Maps API requires the additional following permissions to be set in the AndroidManifest.xml to ensure a correct behavior:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)

.

.

I didn’t want to have that storage permission first. In fact, I worked too hard to avoid that. I desperately added the permission with no luck. Even worse, it blocked our auto-update in Google Play because we had a new permission.

For years, we lived with that.

The permission description says that the application can access files on the devices such as images, videos or audio.

Play Store Dialog with WRITE_EXTERNAL_STORAGE permission

I had lots of 1 stars in my app because of this. Users say that “Why do you request access for my photos and videos?”. They are right! They are always right. I don’t want to access your photos and I won’t. I am forced to have that permission.