How to grant READ_LOGS permission without ROOT (Pro ver.)

Starting from Android 4.1 ("Jelly Bean") Google have taken back permission to read logs (read_logs). This permission is really necessary for Ringtone Replace Ringback app.

It's OK, if you have ROOT, but what if you don't have one OR don't want to root your phone (maybe, for Over The Air updates)?

That's what this tutorial is about:

Steps Overview:

  1. Set up your phone
  2. Set up your PC
  3. Grant permission

1. Set up your phone

1) Go to :arrow: Settings :arrow: Developer Options :arrow: USB debugging :arrow: set to Enable

(optional) 1.1) If you don't see Developer Options in Settings, go to :arrow: Settings :arrow: About Phone

  • tap few times "Build number" until you see the message that you are a developer
  • Return to Settings. Now you will see Developer Options.

2. Set up your PC

We need Android Studio (Software Development Kit) to get adb.exe working on our PC.

1) Head to the official Android site - http://developer.android.com/sdk/

2) Download Android Studio.

3) Launch the .exe file you just downloaded.

4) Follow the setup wizard to install Android Studio and any necessary SDK tools. I suggest you to install Android Studio and it's SDK in same folder (Android).

5) If you need it - Run SDK Manager. It's on upper tools panel, find green icon with arrow and hint "Android SDK Manager".

6) SDK Manager

  • Check all Tools.
  • Uncheck Android versions (we don't need them).
  • In Extras make sure "Google USB driver" is checked.

7) Press "Install Packages". Accept license. Wait… Close SDK Manager.

3. Grant permission

And here comes the fun part :)

1) Plug your phone via USB cable and wait for it to install drivers. At this point, your phone have to get a debug prompt from your PC. Allow debug.

(optional) 1.1) If there is NO prompt: either you have already allowed debugging OR there is an error and you still need those drivers - go to #4 below.

2) Go to location of adb.exe file :arrow: "D:\Program Files\Android\sdk\android-sdk\platform-tools\" (or something like that)

  • hold shift on your keyboard and right-click in a blank spot inside the platform-tools folder
  • select "Open Command Window Here"

There gonna be few commands you'll have to run via Command Window. The easiest way is to copy and paste those commands. Paste using mouse.

cmd adb devices

3) Paste following commands to Command Window (hitting enter at the end of every line):

  • adb devices
    • You should see a phone serial number. This means you are all set!
    • If you do NOT see a serial number, then check #4 below.
  • adb shell "pm grant com.inoysoft.callbeepchangerbeta android.permission.READ_LOGS"
    • no result text in any case

If you use Google Translate, move mouse over a command. Copy original English text.

(optional) 4) If you do NOT see a serial number - you need to install USB drivers for your phone. Just Google something like "Samsung USB drivers". Download and install them. After drivers install adb devices will return serial number and you can go to final command.

5) Turn off your phone. :arrow: Unplug USB. :arrow: Turn phone on.

.

Congratulations!

You've made it !!!

You've granted READ_LOGS permission and your phone still NOT rooted ! :D

_________________________________________________

If you need any help - feel free to comment! :D