Respostas:
Esses aplicativos gratuitos no Market afirmam poder exibir seu logcat e não fazem nenhuma menção à raiz. Você deve levar apenas alguns minutos para experimentá-los:
EDIT: Obrigado a @mente por me lembrar que esses aplicativos só permitem exibir o arquivo de log completo nas versões mais antigas do Android. O Android 4.1 trouxe um novo modelo de segurança em torno dos arquivos de log, o que significava que os aplicativos só podiam ler seus próprios arquivos de log e entradas de arquivo de log e não podiam ler as entradas de arquivo de log criadas pelo sistema ou por outros aplicativos.
No entanto, ainda existe uma maneira de o usuário de um aplicativo gerar um arquivo de log das entradas de log recentes do aplicativo a serem enviadas para um desenvolvedor e o proprietário de um telefone conceder permissões para permitir que um aplicativo leia o arquivo de log sem a raiz completa, mas isso exige que você use um comando ADB, que infelizmente o tira do alcance da maioria dos usuários comuns de telefone:
Se você deseja que o usuário forneça informações de depuração, ele pode gerar um relatório de erro com power + volume down + volume up, que inclui os logs e muitos outros dados, e abre automaticamente o aplicativo de email para enviar tudo (mais uma captura de tela). Estávamos discutindo que também deveríamos ter uma maneira mais fácil de gerá-los. Vou adicionar algo ao aplicativo de configurações.
Também comecei a introduzir o conceito de permissão de "desenvolvimento", na qual os logs de leitura são classificados como. Isso permite que o aplicativo solicite a permissão, mas não a obtenha na instalação. No entanto, você pode concedê-lo com um comando adb shell após a instalação. Em algum momento depois, espero ter uma interface do usuário no sistema para fazer isso, mas vamos adiar isso para ter cuidado com a forma como apresentamos isso.
Trecho de uma postagem no Google Groups por Dianne Hackborn, engenheira de estrutura do Android. Minha ênfase.
O comando ADB mencionado para conceder uma permissão de aplicativo para ler os logs é:
adb shell pm grant <pkg> android.permission.READ_LOGS
Essa configuração deve sobreviver a reinicializações e atualizações do aplicativo (mas não desinstala / reinstala).
Você não precisa fazer o root do seu telefone para rodar adb logcat
com o SDK do Android, mas eu o testei no meu Emulador de Terminal e precisava ser root (usei o su
comando - meu telefone já está enraizado) para executar o logcat no terminal no meu telefone.
Então, sim: se você possui root no seu telefone, pode executar o logcat a partir de um terminal no seu telefone.
Não, você não precisa de raiz para obter informações sobre o logcat.
Para fazer isso, você provavelmente deseja fazer o download do SDK do Android e executar "adb logcat", usando a ferramenta adb que acompanha o SDK. Como alternativa, você pode instalar o plug-in ADT Eclipse e usar seu prático visualizador de Logcat de streaming.
Não, você não precisa de raiz para acessar o logcat. Meu dispositivo (Samsung Galaxy Note, Gingerbread 2.3.6 com ROM de estoque) não está enraizado (ainda!) E usei as seguintes maneiras de acessar o log no meu dispositivo:
adb logcat
No entanto, o aplicativo Terminal não permite executar o logcat e fornece "permissão negada". Não sei por que.
Parece que você não pode executar o logcat no Emulador de Terminal sem ter root no seu telefone. Nesse caso, você deve primeiro su. AFAIK, ele vem de Permissões do Android: o Emulador de Terminal simplesmente não tem permissões suficientes para visualizar o log do dispositivo. Então o sistema diz Permissão negada.
Por outro lado, como outros disseram, existem muitos aplicativos que permitem visualizar o log do dispositivo apenas porque eles solicitam a permissão.
O aplicativo Android System Info tem a capacidade de enviar informações de log para a tela que, até onde eu sei, é a mesma informação de log que o logcat cospe.
O Logcat não precisa de raiz. Simples - é um padrão de fato geral em relação a diferentes versões do Android e faz parte do Android, independentemente de você estar ou não enraizado e é um meio padrão para diagnosticar problemas como no exemplo - você instala um aplicativo, o força do aplicativo fechar, você reclama com o desenvolvedor do referido aplicativo, as chances são muito altas de que o desenvolvedor peça "envie o logcat", independentemente de você estar ou não enraizado!
o aLogCat é uma maneira de coletar informações, com a opção de fazer logon no layout da página da Web ou em texto sem formatação, lembre-se: se você o programar para fazer o log em uma determinada frequência, como a cada 15 minutos, o SDCard será preenchido rapidamente.
Outro aspecto, o uso do logcat dependerá do kernel em termos de quanto ele pode armazenar - em qualquer kernel usado pela ROM, a fonte para o log do nível do kernel, onde reserva a memória para o serviço de logcat pode ser encontrado drivers/staging/android/logger.c
usando as definições apropriadas, por exemplo:
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_ERG_LOG_DE_LOGO_LOG_04_24_0424)
Novamente, a milhagem variará, alguns desenvolvedores de tais ROMs escolherão minimizar o consumo para reduzir as despesas gerais de memória ...