alogcat NOW を使用すると、rootアクセスまたはコンピュータに添付することなく、私のデバイス上のシステムログファイルにアクセスする方法
i <コード> adb logcat を使用して、を使用して、それが大丈夫であるため、たくさんのメッセージが記録されていることを知っています。
998877666655443333 < / CODE>もっと他には表示されません。
だから、rootアクセスなしで私のNexus 7 のAndroidログファイルにアクセスすることは？
Since aLogcat now no longer works with Jelly Bean, how can I access the system log files on my device without either root access or attaching it to a computer?
I have tried using
adb logcat from my PC and that worked fine, so I know that plenty of messages are being logged.
logcat from Android Terminal Emulator on my Nexus 7 shows almost no output though and
adb logcat from Android Terminal Emulator, starts the daemon but then just says
- waiting for device - and nothing more appears.
So, is it possible to 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 appsxe2x80x99 versions installed:
GET_TASKS xe2x80x93 every started Activity is listed in the systemxe2x80x99s logs
READ_HISTORY_BOOKMARKS xe2x80x93 opening new web pages is a browser Activity and thus logged
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.
I'm confused by this though it would explain some things.
Running the same app on my nexus7 and my galaxy nexus, both on jellybean, the phone sees log output from all apps, the tablet doesn't. This would say that it's not jellybean its the nexus7. Backing this up, I've just checked and they both have different kernels. The tablet, with a newer one.
Maybe its the updated kernel that, means logs don't appear.
Guess I'll have to root after all: (
I have developed a Logcat app that uses alternative approach. It utilizes remote debugging feature. You need to enable it on the phone first, but it has to be done only once and then you can use the app to retrieve all logs.