As many people have noted, my Android application alogcat does not work correctly on Jellybean devices. The reason is that applications can no longer read log entries created by other applications. They can still read log entries created by themselves, but obviously that doesn’t help alogcat.
The logic makes sense I suppose. A poorly written application may log sensitive information. Allowing other applications to read this is a bad thing.
For alogcat, there is a workaround. You must explicitly grant alogcat the READ_LOGS permission from the command line. From the Android shell,
shell@android:/ $ pm grant org.jtb.alogcat android.permission.READ_LOGS
Or if you have ADB installed, from your computer’s terminal with your device connected,
$ adb shell pm grant org.jtb.alogcat android.permission.READ_LOGS
This of course requires that you install an Android terminal emulator, or have ADB installed on your computer. Android Terminal Emulator is a good choice for an Android terminal. The Android SDK, which includes ADB can be downloaded here.
Note that the same solution applies for my app alogrec, just replace “org.jtb.alogcat” with “org.jtb.alogrec” in the commands.
Why not just add the permission to the manifest like everyone else does? Along with the new android.permission.ACCESS_SUPERUSER permission?
I’d do it myself, but aLogCat is closed source.
https://code.google.com/p/alogcat/
your contributions are welcome. if you are interested, let me know and i’ll add you as a contributor.
Ah SVN 😥
I know this is a big ask, but any chance of moving it over to git?
yeah unlikely 🙂 SVN works.
Yes, I agree with Paul, why not (easily?) add these permissions?
Is it a big deal?
Sounds so easy though.
franc
not a big deal. it’s matter of testing it across multiple OS versions of rooted and non-rooted devices to make sure it works correctly.
Hi guys,
Is it possible to make alogcat work well on JellyBeans? Any idea?
Thanks
Andong
I found pm grant pkt android.permission.READ_LOGS works for me. But I don’t know why this is ok. Any idea?
I’m fairly new to this. I found that someone had already cloned it over to git and forked that. I added the new permissions and that was fine. However the one thing that’s missing is that I need to get alogcat to request superuser on launch and I’m a bit confused about that. I wondered if you could point me in the right direction, if it’s not too much trouble?