Mein Gerät ist bereits gerootet, deshalb frage ich.
Benötigen Sie root, um den Logcat-Stream auf dem Telefon zu überwachen? Wenn ich den Befehl logcat von einem Terminal auf dem Telefon aus ausführen würde, würde das funktionieren?
quelle
Mein Gerät ist bereits gerootet, deshalb frage ich.
Benötigen Sie root, um den Logcat-Stream auf dem Telefon zu überwachen? Wenn ich den Befehl logcat von einem Terminal auf dem Telefon aus ausführen würde, würde das funktionieren?
Diese kostenlosen Apps auf dem Markt erheben den Anspruch, Ihren Logcat anzeigen zu können, und erwähnen root nicht. Sie sollten nur ein paar Minuten brauchen, um sie auszuprobieren:
BEARBEITEN: Vielen Dank an @mente, dass Sie mich daran erinnert haben, dass Sie mit diesen Apps nur in älteren Android-Versionen die vollständige Protokolldatei anzeigen können. Android 4.1 brachte ein neues Sicherheitsmodell für Protokolldateien ein, das bedeutete, dass Apps nur ihre eigenen Protokolldateien und Protokolldateieinträge lesen konnten und keine vom System oder anderen Apps geschriebenen Protokolldateieinträge lesen konnten.
Es gibt jedoch immer noch eine Möglichkeit für den Benutzer einer App, eine Protokolldatei der letzten Protokolleinträge der App zu erstellen, die an einen Entwickler gesendet werden soll, und für den Besitzer eines Telefons, Berechtigungen zu erteilen, damit eine App die Protokolldatei ohne vollständigen Stamm lesen kann erfordert die Verwendung eines ADB-Befehls, der leider für die meisten normalen Telefonbenutzer unerreichbar ist:
Wenn Sie möchten, dass der Benutzer Ihnen Debugging-Informationen gibt, können Sie ihn einen Fehlerbericht mit Power + Volume Down + Volume Up erstellen lassen, der die Protokolle und viele andere Daten enthält, und automatisch seine E-Mail-App aufrufen, um alles zu senden (plus einen Screenshot). Wir haben gerade darüber gesprochen, dass wir auch eine einfachere Möglichkeit haben sollten, diese zu generieren. Ich werde versuchen, der Einstellungs-App etwas hinzuzufügen.
Ich habe auch damit begonnen, das Konzept einer "Entwicklungs" -Berechtigung einzuführen , bei der das Lesen von Protokollen als klassifiziert wird. Dadurch kann die App die Berechtigung anfordern, sie jedoch bei der Installation nicht erhalten. Sie können es jedoch mit einem adb-Shell-Befehl gewähren, sobald es installiert ist. Irgendwann später erwarte ich eine Benutzeroberfläche im System, um dies zu tun, aber wir werden dies zurückhalten, um vorsichtig zu sein, wie wir dies präsentieren.
Auszug aus einem Beitrag auf Google Groups von Dianne Hackborn, Android Framework Engineer. Mein Schwerpunkt.
Der erwähnte ADB-Befehl zum Erteilen einer Anwendungsberechtigung zum Lesen der Protokolle lautet:
adb shell pm grant <pkg> android.permission.READ_LOGS
Diese Einstellung sollte Neustarts und Upgrades der App überstehen (jedoch nicht deinstallieren / neu installieren).
Sie müssen Ihr Telefon nicht rooten, um
adb logcat
mit dem Android SDK ausgeführt zu werden, aber ich habe es nur in meinem Terminal-Emulator getestet und musste root sein (densu
Befehl verwenden - mein Telefon ist bereits gerootet), um logcat im auszuführen Terminal auf meinem Handy.Also ja: Wenn Sie root auf Ihrem Telefon haben, können Sie logcat von einem Terminal auf Ihrem Telefon aus ausführen.
quelle
Nein, Sie benötigen kein Root-Verzeichnis, um Logcat-Informationen abzurufen.
Dazu möchten Sie wahrscheinlich das Android SDK herunterladen und "adb logcat" mit dem mit dem SDK gelieferten adb-Tool ausführen. Alternativ können Sie das ADT Eclipse-Plugin installieren und den praktischen Logcat-Streaming-Viewer verwenden.
quelle
Nein, Sie benötigen kein Root, um auf logcat zuzugreifen. Mein Gerät (Samsung Galaxy Note, Gingerbread 2.3.6 mit Standard-ROM) ist (noch!) Nicht gerootet und ich habe die folgenden Methoden verwendet, um auf das Protokoll auf meinem Gerät zuzugreifen:
adb logcat
Mit der Terminal-App können Sie logcat jedoch nicht ausführen und erhalten die Berechtigung "verweigert". Ich bin mir nicht sicher warum.
quelle
Es scheint, dass Sie logcat nicht über Terminal Emulator ausführen können, ohne root auf Ihrem Telefon zu haben. In diesem Fall müssen Sie zuerst su. AFAIK, es kommt von Android-Berechtigungen: Terminal Emulator hat einfach nicht genug Berechtigungen, um das Geräteprotokoll anzuzeigen. Das System sagt also, dass die Berechtigung verweigert wurde.
Auf der anderen Seite gibt es, wie andere sagten, viele Apps, mit denen Sie das Geräteprotokoll anzeigen können, nur weil sie die Berechtigung anfordern.
quelle
Die Anwendung Android System Info bietet die Möglichkeit, Protokollinformationen auf dem Bildschirm auszugeben, die, soweit ich das beurteilen kann, dieselben Protokollinformationen sind, die logcat ausspuckt.
quelle
Logcat benötigt kein Root. Simples - es ist ein De-facto-Standard in Bezug auf verschiedene Android-Versionen und Teil von Android, unabhängig davon, ob Sie verwurzelt sind oder nicht. Es ist ein Standardmittel zur Diagnose von Problemen wie zum Beispiel - Sie installieren eine App, die App Force Close, Sie beschweren sich beim Entwickler der App, die Chancen stehen gut, dass der Entwickler "Send over the Logcat" fragt, unabhängig davon, ob Sie verwurzelt sind oder nicht!
aLogCat ist eine Möglichkeit, Informationen zu sammeln. Sie können sich auch im Webseitenlayout oder im Klartext anmelden. Wenn Sie die Protokollierung mit einer bestimmten Häufigkeit planen, z. B. alle 15 Minuten, füllt sich die SDCard recht schnell.
Ein weiterer Aspekt, die Verwendung von logcat, hängt vom Kernel ab, wie viel er speichern kann - in jedem Kernel, der vom ROM verwendet wird, der Quelle für die Protokollierung auf Kernelebene, wo er den Speicher für den logcat-Dienst reserviert finden Sie unter
drivers/staging/android/logger.c
Verwendung der entsprechenden Definitionen zum Beispiel:Auch hier wird der Kilometerstand variieren. Einige Entwickler solcher ROMs werden den Verbrauch minimieren, um den Speicheraufwand zu verringern ...
quelle