Vraag:
Heeft toegang tot logcat root nodig?
Wulfbane
2010-09-14 01:38:19 UTC
view on stackexchange narkive permalink

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?

Zeven antwoorden:
#1
+16
GAThrawn
2011-03-22 19:46:54 UTC
view on stackexchange narkive permalink

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).

Vanaf Android 4.1 heb je root-toegang nodig om andere app-logboeken te lezen. CatLog-ontwikkelaar heeft [uitleg] gepost (http://nolanlawson.com/2012/09/02/catlog-jives-with-jelly-bean-goes-open-source/). Stel dat deze apps werken voor <4.1-versies
Deze snelkoppeling werkt niet op mijn Android 4.1.2
Ik heb een hulpprogramma gemaakt om logboeken van een pc te verzamelen: https://gist.github.com/hrj/5983971
#2
+4
Amanda
2011-03-22 01:25:45 UTC
view on stackexchange narkive permalink

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.

#3
+1
Eric Mill
2010-09-14 04:32:44 UTC
view on stackexchange narkive permalink

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.

ik wil dit vanaf de telefoon doen, niet vanaf een externe machine met de SDK
#4
+1
Iravanchi
2011-12-31 03:28:46 UTC
view on stackexchange narkive permalink

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:

  • CatLog-app
  • aLogcat-app
  • Geactiveerde SSHDroid-app en verbonden met de apparaatterminal met behulp van een SSH-client
  • Android SDK gebruiken en 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.

ja, op Gingerbread ... maar de Android ** van vandaag ** vereist ** root.
#5
+1
atomontage
2013-04-29 20:35:22 UTC
view on stackexchange narkive permalink

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.

#6
  0
Bill Best
2010-09-14 01:43:30 UTC
view on stackexchange narkive permalink

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.

Heb je een link naar die app, kan ik deze niet vinden in de Market?
@GAThrawn Mocht je nog steeds geïnteresseerd zijn: [homepage] (http://doandroidsdreamofelectricsheep.wordpress.com/2010/03/11/android-system-info/) en [Google Play Store] (https://play.google .com / store / apps / details? id = com.electricsheep.asi & hl = en) koppelingen.
#7
  0
t0mm13b
2012-07-30 00:17:32 UTC
view on stackexchange narkive permalink

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. ..



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...