android dumpsys permission denial

前端 未结 5 1653
有刺的猬
有刺的猬 2020-12-10 08:57

I have an application where I create a process and call the dumpsys telephony.registry command to get information about the mobile network status.



        
5条回答
  •  [愿得一人]
    2020-12-10 09:29

    There's another (hacky) way to access dumpsys without rooting your device - through adb shell.

    This will require allowing USB debugging, and finding the port of the adb service.

    1. Enable USB debugging on your device. This option is found under Settings -> Developer Options.

    2. Connect your device to a PC, and run the following command from the PC's shell/command line: adb tcpip 12345. Then, from your devices shell, issue the command adb connect localhost:12345 from your application. You can now disconnect the device from USB. Alternatively, you can scan the ports on your device one by one without USB connection, using adb connect localhost: and find the port adb service is listening to.

    3. Authorize USB debugging from the pop up confirmation dialog, if prompted. Check the "always" checkbox to do not require this step again.

    4. Now, when you have access to the adb service, use adb shell dumpsys ... from your application code to get whatever service dump you need.

    NOTE: You don't need the DUMP permission for that to work.

提交回复
热议问题