Mijn apparaat is al geroot, daarom vraag ik het.
Heb je root nodig om de logcat-stream op de telefoon te volgen? Als ik de logcat-opdracht zou uitvoeren vanuit een terminal op de telefoon, zou dat dan werken?
Mijn apparaat is al geroot, daarom vraag ik het.
Heb je root nodig om de logcat-stream op de telefoon te volgen? Als ik de logcat-opdracht zou uitvoeren vanuit een terminal op de telefoon, zou dat dan werken?
Deze gratis apps in de Market beweren dat ze je logcat kunnen weergeven, en maken geen melding van root. Het duurt maar een paar minuten om ze uit te proberen:
BEWERKEN: Met dank aan @mente voor het eraan herinneren dat je met deze apps alleen het volledige logbestand kunt bekijken in oudere versies van Android. Android 4.1 introduceerde een nieuw beveiligingsmodel rond logfiles dat betekende dat apps alleen hun eigen logfiles en logfile-items konden lezen, en geen logfile-items die door het systeem of andere apps zijn geschreven.
Er is echter nog steeds zowel een manier voor de gebruiker van een app om een logbestand te genereren van de recente logboekvermeldingen van de app om naar een ontwikkelaar te sturen, als voor de eigenaar van een telefoon om machtigingen te verlenen om een app toe te staan het logbestand te lezen zonder volledige root, maar hiervoor moet je wel gebruik een ADB-commando, dat het helaas buiten het bereik van de meeste normale telefoongebruikers brengt:
Als u wilt dat de gebruiker u foutopsporingsinformatie geeft, kunt u hem een bug laten genereren rapporteer met power + volume lager + volume hoger, inclusief de logboeken en veel andere gegevens, en opent automatisch hun e-mailapp om alles te verzenden (plus een screenshot). We waren net aan het bespreken dat we ook een gemakkelijkere manier zouden moeten hebben om deze te genereren. Ik ga kijken of we iets aan de instellingen-app kunnen toevoegen.
Ik ben ook begonnen met het introduceren van het concept van een " development "toestemming, die logs leest is geclassificeerd als. Hierdoor kan de app de toestemming vragen, maar deze niet krijgen tijdens de installatie. U kunt het echter toestaan met een adb-shell-opdracht als het eenmaal is geïnstalleerd. Op een gegeven moment verwacht ik later een gebruikersinterface in het systeem te hebben om dit te doen, maar we zullen dat wachten om voorzichtig te zijn met hoe we dit presenteren.
Uittreksel uit een bericht op Google Discussiegroepen door Dianne Hackborn, Android Framework Engineer. Mijn nadruk.
Het genoemde ADB-commando om een applicatie toestemming te geven om de logs te lezen is:
adb shell pm grant <pkg> android.permission.READ_LOGS
Dit instelling moet reboots en upgrades van de app overleven (maar niet verwijderen / opnieuw installeren).
U hoeft uw telefoon niet te rooten om adb logcat
uit te voeren met de Android SDK, maar ik heb het net getest in mijn Terminal Emulator en het moest wel be root (gebruikte de opdracht su
- mijn telefoon is al geroot) om logcat in de terminal op mijn telefoon uit te voeren.
Dus ja: als je root op je telefoon hebt, kun je logcat starten vanaf een terminal op je telefoon.
Nee, u heeft geen root nodig om logcat-informatie op te halen.
Om dit te doen, wilt u waarschijnlijk de Android SDK downloaden en "adb logcat" uitvoeren met behulp van de adb-tool die bij de SDK. U kunt ook de ADT Eclipse-plug-in installeren en de handige streaming Logcat-viewer gebruiken.
Nee, je hebt geen root nodig om toegang te krijgen tot logcat. Mijn apparaat (Samsung Galaxy Note, Gingerbread 2.3.6 met stock-ROM) is (nog!) Niet geroot en ik heb de volgende manieren gebruikt om toegang te krijgen tot de log op mijn apparaat:
adb logcat
De Terminal-app staat je echter niet toe om logcat uit te voeren, en geeft je "toestemming geweigerd". Ik weet niet zeker waarom.
Het lijkt erop dat u logcat niet kunt uitvoeren vanuit Terminal Emulator zonder root op uw telefoon. In dit geval moet u eerst su. AFAIK, het komt van Android-machtigingen: Terminal Emulator heeft gewoon niet genoeg machtigingen om het logboek van het apparaat te bekijken. Dus het systeem zegt Toestemming geweigerd.
Aan de andere kant, zoals anderen zeiden, zijn er tal van apps waarmee je het logboek van het apparaat kunt bekijken alleen maar omdat ze om toestemming vragen.
De applicatie Android-systeeminfo heeft de mogelijkheid om logboekinformatie naar het scherm te sturen, wat voor zover ik kan zien dezelfde logboekinformatie is als de logcat uitspuugt.
Logcat heeft geen root nodig. Simples - het is een de-facto standaard over de hele linie met betrekking tot verschillende Android-versies en maakt deel uit van Android, ongeacht of je geroot bent of niet, en het is een standaardmiddel voor het diagnosticeren van problemen, zoals in bijvoorbeeld - je installeert een app, de app forceert sluiten, klaag je bij de ontwikkelaar van de app, de kans is groot dat de ontwikkelaar zal vragen "stuur de logcat over", ongeacht of je geroot bent of niet!
aLogCat is een manier om de informatie te verzamelen, met de optie om in te loggen naar webpagina-indeling of platte tekst. Houd er rekening mee dat als u plant om in te loggen met een bepaalde frequentie, zoals zoals elke 15 minuten zal de SDCard vrij snel vol raken.
Een ander aspect, het gebruik van logcat zal afhankelijk zijn van de kernel in termen van hoeveel het kan opslaan - in elke kernel die wordt gebruikt door de ROM , de bron voor het loggen vanaf een kernelniveau, waar het geheugen voor de logcat-service wordt gereserveerd, is te vinden in drivers / staging / android / logger.c
met behulp van de juiste definities, bijvoorbeeld:
DEFINE_LOGGER_DEVICE (log_main, LOGGER_LOG_MAIN, 64 * 1024) DEFINE_LOGGER_DEVICE (log_events, LOGGER_LOG_EVENTS, 256 * 1024) DEFINE_LOGGER_DEVICE (log_radio, LOGGER_LOG_LOG_RADIO, 64_LOG_System) >
Nogmaals, de kilometerstand zal variëren, sommige ontwikkelaars van dergelijke ROM's zullen ervoor kiezen om het verbruik te minimaliseren om de overheadkosten van het geheugen te verminderen. ..