L'accesso a logcat ha bisogno di root?


9

Il mio dispositivo è già rootato, ecco perché lo sto chiedendo.

Hai bisogno di root per monitorare il flusso logcat sul telefono? Se avessi eseguito il comando logcat da un Terminale sul telefono, avrebbe funzionato?

Risposte:


15

Queste app gratuite sul mercato affermano di essere in grado di visualizzare il tuo logcat e di non menzionare root. Ti bastano pochi minuti per provarli:

EDIT: Grazie a @mente per avermi ricordato che queste app ti consentiranno di visualizzare il file di registro completo solo nelle versioni precedenti di Android. Android 4.1 ha introdotto un nuovo modello di sicurezza attorno ai file di registro, il che significa che le app potevano solo leggere i propri file di registro e le voci dei file di registro e non potevano leggere le voci dei file di registro scritte dal sistema o da altre app.

Esiste tuttavia ancora un modo per l'utente di un'app di generare un file di registro delle voci di registro recenti dell'app da inviare a uno sviluppatore e per il proprietario di un telefono di concedere le autorizzazioni per consentire a un'app di leggere il file di registro senza root, ma questo richiede di utilizzare un comando ADB, che purtroppo lo porta fuori dalla portata della maggior parte dei normali utenti di telefoni:

Se vuoi che l'utente ti fornisca informazioni di debug, puoi fargli generare una segnalazione di bug con power + volume down + volume up che include i registri e molti altri dati e porta automaticamente la loro app di posta elettronica per inviarlo tutto (più uno screenshot). Stavamo solo discutendo che dovremmo avere un modo più semplice per generare anche questi, ho intenzione di aggiungere qualcosa all'app delle impostazioni.

Ho anche iniziato a introdurre il concetto di autorizzazione di "sviluppo", che legge i registri è classificato come. Ciò consente all'app di richiedere l'autorizzazione, ma non di ottenerla al momento dell'installazione. Puoi comunque concederlo con un comando shell adb una volta installato. Ad un certo punto, mi aspetto di avere un'interfaccia utente nel sistema per farlo, ma continueremo a trattenerlo per fare attenzione a come lo presentiamo.

Estratto da un post su Google Gruppi di Dianne Hackborn, ingegnere del framework Android. La mia enfasi.

Il comando ADB citato per concedere a un'applicazione il permesso di leggere i registri è:

adb shell pm grant <pkg> android.permission.READ_LOGS

Questa impostazione dovrebbe sopravvivere a riavvii e aggiornamenti dell'app (ma non a disinstallare / reinstallare).


A partire da Android 4.1 è necessario l'accesso root per leggere i registri di altre app. Lo sviluppatore di CatLog ha pubblicato una spiegazione . Supponiamo che queste app funzionino per <4.1 versioni
mente,

1
Questa scorciatoia non funziona sul mio Android 4.1.2
mente

Ho creato un'utilità per raccogliere i registri da un PC: gist.github.com/hrj/5983971
HRJ

4

Non è necessario eseguire il root del telefono per funzionare adb logcatcon Android SDK, ma l'ho appena testato nel mio Terminal Emulator e dovevo essere root (utilizzato il sucomando - il mio telefono è già rootato) per eseguire logcat nel terminale sul mio telefono.

Quindi sì: se hai root sul tuo telefono puoi eseguire logcat da un terminale sul tuo telefono.


1

No, non è necessario il root per ottenere informazioni su logcat.

Per farlo, probabilmente desideri scaricare Android SDK ed eseguire "adb logcat", utilizzando lo strumento adb fornito con l'SDK. In alternativa, è possibile installare il plug-in ADT Eclipse e utilizzare il suo comodo visualizzatore Logcat in streaming.


voglio farlo dal telefono, non da una macchina remota con l'SDK
Wulfbane

1

No, non è necessario il root per accedere a logcat. Il mio dispositivo (Samsung Galaxy Note, Gingerbread 2.3.6 con ROM di serie) non è rootato (ancora!) E ho usato i seguenti modi per accedere al mio dispositivo:

  • App CatLog
  • App aLogcat
  • App SSHDroid attivata e connessa al terminale del dispositivo tramite un client SSH
  • Utilizzando Android SDK e in esecuzione adb logcat

Tuttavia, l'app Terminal non ti consente di eseguire logcat e ti dà "permesso negato". Non sono sicuro del perché.


sì, su Gingerbread ... ma Android di oggi fa richiede root.
NH.

1

Sembra che non puoi eseguire logcat da Terminal Emulator senza avere root sul tuo telefono. In questo caso, devi prima fare una richiesta. AFAIK, proviene da autorizzazioni Android: Terminal Emulator semplicemente non ha autorizzazioni sufficienti per visualizzare il registro del dispositivo. Quindi il sistema dice Autorizzazione negata.

D'altra parte, come altri hanno detto, ci sono molte app che ti consentono di visualizzare il registro del dispositivo solo perché richiedono l'autorizzazione.



0

Logcat non ha bisogno di root. Simples - è uno standard di fatto su tutta la linea rispetto alle diverse versioni di Android e fa parte di Android indipendentemente dal fatto che tu sia rootato o meno, ed è un mezzo standard per diagnosticare i problemi come ad esempio - installi un'app, il chiusura forzata dell'app, ti lamenti con lo sviluppatore di detta app, le probabilità sono abbastanza alte che lo sviluppatore chiederà "invia tramite il logcat" indipendentemente dal fatto che tu sia rootato o no!

aLogCat è un modo per raccogliere le informazioni, con la possibilità di accedere al layout della pagina Web o al testo normale, tenere presente che se si pianifica che acceda a una certa frequenza come ogni 15 minuti, la SDCard si riempirà abbastanza rapidamente.

Un altro aspetto, l'uso di logcat dipenderà dal kernel in termini di quanto può archiviare - in qualsiasi kernel utilizzato dalla ROM, l'origine per la registrazione da un livello del kernel, dove riserva la memoria per il servizio logcat si può trovare drivers/staging/android/logger.cusando ad esempio le definizioni appropriate:

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_RADIO, 64 * 1024) DEFINE_LOG__LOG_DE_SEND

Ancora una volta, il chilometraggio varierà, alcuni sviluppatori di tali ROM sceglieranno di ridurre al minimo i consumi per ridurre i costi di memoria ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.