Search code examples
androidperformanceadbandroid-manifestandroid-permissions

Android: Find out which third party library is requesting a permission?


One of my projects has multiple third party libraries and one of those libraries is requesting a permission that I don't have defined in my Manifest. How can I find out which of the libraries is requesting the permission?

If I perform the command:

adb shell dumpsys package [mypackagename]

then I see the permission as "requested", but as I mentioned it doesn't exist in my project. There are a lot of third party libraries.


Solution

  • you can find your final permission in merged manifest file at

    app/build/intermediates/manifests/full/debug/AndroidManifest.xml

    You can get rid of this with

    Just declare the incriminated permission in your main Manifest with the tools:node="remove"

    like:

    <uses-permission android:name=”android.permission.RECORD_AUDIO” tools:node=”remove” />
    

    Even if another third party library is asking for this specific permission, the build will be forced to not merge it in your final Manifest file.