Android - How can I access android log files on my Nexus 7 without root access?
No, for security reasons it is not possible to access android log files on the Nexus 7 (or any other device running Jelly Bean or higher) without root access. Google changed that with Jelly Bean.
I'd suggest you wait until logcat readers like aLogCat and such get fixed (i.e. they will require root access to show all logs then).
From AISEC-TR-2012-001-Android-OS-Security.pdf - 3.3 Android Permission Model:
The READ_LOGS permission can substitute the following on many devices, depending on the Android version and thus the standard apps’ versions installed:
READ_CONTACTS
GET_TASKS – every started Activity is listed in the system’s logs
READ_HISTORY_BOOKMARKS – opening new web pages is a browser Activity and thus logged
READ_SMS
All solutions below require root access:
You need to either run logcat as root in a shell or manually grant it via the shell pm command (root required) works also (see XDA, exchange org.jtb.alogcat.donate with the app's pkg name):
pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
This is for the lazy ones and not suggested: If you're desperate, careless and lazy, you can fix it by giving every app the READ_LOGS permission by applying this ugly and insecure hack (Chainfire via twitter):
chmod 04755 /system/bin/logcat
To quote CyanogenMod developer Koushik Dutta's G+ post:
Did the Android Log permissions/behavior change in JellyBean?
It seems that if an application runs "logcat" now, it can see only the log entries created by its UID. Log lines from other UIDs are not shown. Basically, it seems to be filtered now.
I have the same permissions as usual. Also confirmed the same thing is happening in other log collector apps.