4

I noticed that during my application's install, it requests "approximate location (network-based)" permission. I haven't asked for ACCESS_COARSE_LOCATION in the manifest, but I'm using three SDKs which are the only suspects.

The SDKs in use are: Facebook, Flurry and Parse.

The declared permissions in the manifest are:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE"/>

How can I find out who is asking for ACCESS_COARSE_LOCATION permission?

Flurry docs mention that ACCESS_FINE_LOCATION is an optional permission, but nothing said about ACCESS_COARSE_LOCATION.(https://developer.yahoo.com/flurry/docs/analytics/gettingstarted/android/)

I couldn't find info regarding Facebook and Parse network related permissions.

smb6
  • 121
  • 5
  • 4
    Look for a manifest merger report in the `build/` directory tree inside your `app/` module, if you are using Android Studio. – CommonsWare Jun 21 '15 at 20:29
  • 1
    OK, found the merged manifest and it has: ``. But who asked for that permission? Facebook, Flurry or Parse SDK? – smb6 Jun 22 '15 at 18:07
  • 2
    I wasn't referring to the merged manifest itself, but the manifest merger report. For a `debug` build, it will be named `manifest-merger-debug-report.txt`. It used to be in `build/outputs/apk/` of your module, but I have this nagging feeling that it moved recently. That report, while obtuse, should give you some clues as to who asked for that permission. – CommonsWare Jun 22 '15 at 18:19
  • 1
    Sorry, my misunderstanding. You solved the problem! Kudos! The report exists in app\build\outputs\logs. And this is what I found: `uses-permission#android.permission.ACCESS_COARSE_LOCATION ADDED from com.google.android.gms:play-services-maps:7.5.0:23:5 MERGED from com.google.android.gms:play-services-maps...` – smb6 Jun 22 '15 at 18:24
  • CommonsWare, Salute to you! – Palak Darji Jul 15 '15 at 11:47

1 Answers1

0

If you don't want to have a permission from third-party dependencies, easiest way is declaring in your manifest all permissions with "remove" tag:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove"/>
Atetc
  • 1,643
  • 19
  • 26