O acesso ao logcat precisa de root? -- root-access campo com logging campo com terminal camp android Relacionado O problema

Does access to logcat need root?


9
vote

problema

português

meu dispositivo já está enraizado, é por isso que estou perguntando.

Você precisa de root para monitorar o fluxo do logcat no telefone? Se eu correr o comando logcat de dentro de um terminal no telefone, isso funcionaria?
Inglês Original

My device is already rooted, this is why I'm asking.

Do you need root to monitor the logcat stream on the phone? If I ran the logcat command from within a Terminal on the phone, would that work?

        

Lista de respostas

16
 
vote

Esses aplicativos gratuitos no mercado afirmam ser capazes de exibir seu logcat e não fizer nenhuma menção de root. Deve só levar alguns minutos para experimentá-los:

  • catlog
  • alogcat
  • logviewer

Editar: Graças a @MEe por me lembrar que esses aplicativos só permitirão visualizar o logfile completo em versões mais antigas do Android. Android 4.1 trouxe um novo modelo de segurança em torno de logfiles que significam que os aplicativos só poderiam ler suas próprias entradas de logfiles e logfile, e não podem ler entradas de logfile escritos pelo sistema ou outros aplicativos.

ainda há ambos uma maneira para o usuário de um aplicativo gerar um logfile das entradas de log recentes do aplicativo a serem enviadas para um desenvolvedor, e para o proprietário de um telefone conceder permissões para permitir que um aplicativo leia o logfile sem raiz completa , mas isso exige que você use um comando adb, que infelizmente tirá-lo do alcance da maioria dos usuários de telefone normais:

.

Se você quiser que o usuário lhe dê uma informação de depuração, você pode ter eles geram um relatório de bug com poder + volume baixo + volume em que inclui os logs e muitos outros dados e automaticamente traz seu aplicativo de e-mail para enviar tudo (mais uma captura de tela). Nós éramos apenas discutindo que devemos ter uma maneira mais fácil de gerar estes como Bem, eu vou olhar para adicionar algo para o aplicativo de configurações.

Eu também comecei a introduzir o conceito de um "desenvolvimento" forte " permissão, que leia logs é classificado como. Isso permite que o aplicativo Solicite a permissão, mas não obtê-lo na instalação. Você pode no entanto conceder com um comando adb shell quando estiver instalado. Em algum ponto mais tarde, espero ter uma interface do usuário no sistema para fazer isso, mas nós vai segurar isso para ter cuidado com a forma como nós apresentamos isso.

trecho de um Post no Google Grupos por Dianne Hackborn, Android Engenheiro-quadro. Minha ênfase.

O comando adb mencionado para conceder uma permissão de aplicativos para ler os logs é:

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

Esta configuração deve sobreviver a reinicializações e atualizações do aplicativo (mas não desinstalar / reinstalar).

 

These free apps in the Market claim to be able to display your logcat, and don't make any mention of root. Should only take you a few minutes to try them out:

  • CatLog
  • aLogcat
  • LogViewer

EDIT: Thanks to @mente for reminding me that these apps will only let you view the full logfile in older versions of Android. Android 4.1 brought in a new security model around logfiles that meant that apps could only read their own logfiles and logfile entries, and can't read logfile entries written by the system or other apps.

There is however still both a way for an app's user to generate a logfile of the app's recent log entries to be sent to a developer, and for a phone's owner to grant permissions to allow an app to read the logfile without full root, but this does require you to use an ADB command, which unfortunately takes it out of the reach of most normal phone users:

If you want the user to give you debugging information, you can have them generate a bug report with power + volume down + volume up which includes the logs and lots of other data, and automatically brings up their e-mail app to sent it all (plus a screenshot). We were just discussing that we should have an easier way to generate these as well, I am going to look at adding something to the settings app.

I also have started introducing the concept of a "development" permission, which read logs is classified as. This allows the app to request the permission, but not get it at install. You can however grant it with an adb shell command once it is installed. At some point later I expect to have a UI in the system for doing this, but we are going to hold off on that to be careful about how we present this.

Excerpt from a post on Google Groups by Dianne Hackborn, Android Framework Engineer. My emphasis.

The mentioned ADB command to grant an application permission to read the logs is:

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

This setting should survive reboots and upgrades of the app (but not uninstalls/reinstalls).

 
 
     
     
4
 
vote

Você não precisa roar seu telefone para executar adb logcat com o Android SDK, mas acabei de testá-lo no meu emulador de terminal e eu tenho que ser root (usado o comando su - meu telefone já está enraizado) para executar o logcat no terminal no meu telefone.

Então sim: se você tiver root no seu telefone, você pode executar o logcat de um terminal no seu telefone.

 

You don't need to root your phone to run adb logcat with the Android SDK, but I did just test it in my Terminal Emulator and I did have to be root (used the su command -- my phone is already rooted) to run logcat in the terminal on my phone.

So yes: if you have root on your phone you can run logcat from a terminal on your phone.

 
 
1
 
vote

Não, você não precisa de root para obter informações de logcat.

Para fazê-lo, você provavelmente deseja baixar o SDK do Android e executar "ADB Logcat", usando a ferramenta ADB que vem com o SDK. Alternativamente, você pode instalar o plugin do Eclipse do ADT e usar seu visualizador Handy Streaming Logcat.

 

No, you don't need root to get logcat information.

To do it, you probably want to download the Android SDK and run "adb logcat", using the adb tool that comes with the SDK. Alternatively, you could install the ADT Eclipse plugin and use its handy streaming Logcat viewer.

 
 
 
 
1
 
vote

Não, você não precisa de root para acessar o logcat. Meu dispositivo (Samsung Galaxy Note, Gingerbread 2.3.6 com ROM de estoque) não está enraizado (ainda!) E eu usei as seguintes maneiras de acessar o log no meu dispositivo:

  • catlog app
  • alogcat app
  • sshdroid app ativado e conectado ao terminal do dispositivo usando um cliente SSH
  • Usando o Android SDK e a execução adb logcat

No entanto, o aplicativo de terminal não permite que você execute o logcat e lhe dê "permissão negada". Eu não tenho certeza porque.

 

No, you don't need root to access logcat. My device (Samsung Galaxy Note, Gingerbread 2.3.6 with stock ROM) is not rooted (yet!) and I have used the following ways to access log on my device:

  • CatLog app
  • aLogcat app
  • Activated SSHDroid app, and connected to the device terminal using an SSH client
  • Using Android SDK and running adb logcat

However, the Terminal app doesn't allow you to run logcat, and gives you "permission denied". I'm not sure why.

 
 
 
 
1
 
vote

Parece que você não pode executar o logcat do emulador de terminal sem ter raízes no seu telefone. Neste caso, você tem que su primeiro. AFAIK, vem das permissões 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 negado.

Por outro lado, como outros disseram, há muitos aplicativos que permitem visualizar o log do dispositivo apenas porque solicitam a permissão.

 

It seems you cannot run logcat from Terminal Emulator without having root on your phone. In this case you have to su first. AFAIK, it comes from Android Permissions: Terminal Emulator simply doesn't have enough permissions to view device's log. So the system says Permission denied.

On the other hand, as others said, there are plenty of apps that allow you to view device's log just because they request the permission.

 
 
0
 
vote

o aplicativo informação do sistema Android Tem a capacidade de produzir informações de log para a tela que, tanto quanto eu posso dizer é a mesma informação de log que o Logcat cospe.

 

The application Android System Info has the ability to output log info to the screen which as far as I can tell is the same log info as logcat spits out.

 
 
   
   
0
 
vote

logcat não precisa de root. Simples - é um padrão de fato de fato em relação à placa em relação a diferentes versões Android e faz parte do Android, independentemente se você estiver enraizado ou não, e é um meio padrão para diagnosticar problemas como por exemplo - você instala um aplicativo, o aplicativo APP Force Fechar, você reclama ao desenvolvedor do referido aplicativo, as chances são bastante altas que o desenvolvedor perguntará "Enviar o Logcat" Independentemente se você estiver enraizado ou não!

Alogcat é uma forma de Reunindo as informações, com a opção de loging para layout de página ou texto simples, tenha em mente, se você agendar para registrar uma determinada frequência, como a cada 15 minutos, o SDCARD será preenchido rapidamente.

Outro aspecto, o uso do logcat será dependente do kernel em termos de quanto ele pode armazenar - em qualquer núcleo que é usado pela ROM, a fonte para o log de um nível de kernel, onde reserva a memória para O serviço Logcat pode ser encontrado em ABCDEFGHIJKLMNABCDEFGHIJKLMN0 Usando o Define apropriado, 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_log_radio, 64 * 1024) Define_logger_device (log_system, logger_log_system, 64 * 1024)

novamente, a milhagem irá variar, alguns desenvolvedores de tais roms optarão por minimizar o consumo para reduzir as sobrecargas de memória ...

 

Logcat does not need root. Simples - its a de-facto standard across the board in respect to different Android versions and is part of Android irrespective if you're rooted or not, and is a standard means for diagnosing problems as in for example - you install an app, the app force close, you complain to developer of said app, chances are quite high the developer will ask "send over the logcat" regardless if you're rooted or not!

aLogCat is one way of gathering the information, with the option of logging to webpage layout or plain text, bear in mind, if you schedule it to log at a certain frequency such as every 15 minutes, the SDCard will fill up quite quickly.

Another aspect, usage of logcat will be dependent on the kernel in terms of how much it can store - in any kernel that is used by the ROM, the source for the logging from a kernel level, where it reserves the memory for the logcat service can be found in drivers/staging/android/logger.c using the appropriate defines for example:

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_LOGGER_DEVICE(log_system, LOGGER_LOG_SYSTEM, 64*1024)

Again, mileage will vary, some developers of such ROMs will choose to minimize consumption to reduce memory overheads...

 
 

Perguntas relacionadas

0  Como enraizar meu LG Optimus L70 LGMS323  ( How to root my lg optimus l70 lgms323 ) 
Eu sei que há muitas maneiras de root de um LG Optimus L70 LGMS323 Mas eu não entendo algumas delas. Existe uma maneira simples de enraizar o meu de dispositi...

1  ROOT - Como remover um dos Superuser App?  ( Root how to remove one of the superuser app ) 
Eu enraizei meu telefone por mês e baixei o aplicativo superusuário ontem. No entanto, quando uso o aplicativo SuperSu, ele não está em execução e disse que...

0  Não é possível estabelecer uma conexão confiável com o servidor Google Play?  ( Cant establish a reliable connection to the server google play ) 
ok então eu tenho samsung galaxy s3 eu enraizado há uma semana e funcionou impecável então, depois, depois, quando hoje abri o Google Play, ele diz que nenhum...

2  Eu te enraizei meu telefone, mas por que não posso telnet?  ( I have rooted my phone but why cant i telnet ) 
Eu tenho um T-Mobile G1 e enraizado usando eroot. Eu confirmei que tenho raízes usando tethering sem fio, recebo todos os diálogos de permissão de superusuári...

0  Auto desligar o interruptor para o telefone Android de acordo com o status da bateria  ( Auto turn off switch for android phone according to battery status ) 
Procurando por qualquer interruptor com conectividade Bluetooth com o celular e desligar a energia para o carregador móvel de acordo com o status de barfagem ...

0  Como verificar se alguém fez uma recuperação de dados no meu celular?  ( How to check if somebody had done a data recovery on my phone ) 
Então eu recentemente empresto meu telefone para o meu pai. Ele quebrou sua exibição e levou-o a um centro de serviços para reparos, todos não conhecidos para...

0  Build.prop modifica ok. Mas não atualizações no sistema (por exemplo, sobre tablet em configurações)  ( Build prop modifies okay but not updates in system e g about tablet in settin ) 
Eu estou executando Android-X86 4.4 na caixa virtual. Tudo funciona bem. Mas quando estou modificando o Build.Prop (com ES File Explorer ou Editor BuildProp) ...

0  Posso copiar uma imagem de partição, modificar e restaurá-lo de volta ao telefone Android?  ( Can i copy a partition image modify and then restore it back to android phone ) 
Eu já comecei a obter minhas mãos sujas em Android Rom. Eu tenho um dispositivo Android enraizado sem recuperação específica do TWRP. Eu tenho uma pergunta qu...

0  Como habilitar Não perturbe para 1 SIM apenas em um telefone Dual SIM?  ( How to enable do not disturb for 1 sim only in a dual sim phone ) 
Eu tenho um oneplus enraizado 2 executando Lineageos 14 mais recente. Como posso habilitar o recurso Não perturbe para apenas meu cartão SIM pessoal, sem ta...

0  Ligar ao carregar, mas somente quando o nível da bateria é maior que 20%  ( Power on when charging but only when battery level is greater than 20 ) 
Eu tentei recentemente para encaixar um tablet no meu carro e me deparei com um problema com acordar o dispositivo sem usar o botão liga / desliga. Minha so...

1  Como usar o Glase em um dispositivo Android enraizado?  ( How to use glase on a rooted android device ) 
Como posso usar o aplicativo de pagamento de toque e pagar glaso (anteriormente seqr ) em um dispositivo que foi enraizado usando o MAGISK? ...

1  Como / System / Xbin / Su funciona?  ( How system xbin su works ) 
Eu usei o TWRP para instalar o comando su e eu instalei SuperSU do aplicativo do Google Play. Funciona. A pergunta - Como o comando ABCDEFGHIJKLMNABCDE...

2  Substituído / System / Bin / Toolbox. Como eu reverter isso?  ( Replaced system bin toolbox how to i revert that ) 
Eu renomeei a caixa original / sistema / bin / toolbox "para" toolbox_alt ". Eu substituí o arquivo / sistema / bin / caixa de ferramentas por um arquivo que ...

1  Como fazer uma recuperação persistir através de instalações da ROM?  ( How to make a recovery persist through rom installations ) 
. É muito comum que a recuperação seja instalada como parte do Instalação rom, mas é possível impedir a recuperação de sendo alterado durante esse processo? ...

3  Por que (BIND) montagens em / armazenamento / emulado / 0 não são visíveis em aplicativos?  ( Why bind mounts in storage emulated 0 are not visible in apps ) 
Eu montei um diretório em outro diretório com: mount --bind "/storage/sdcard/dir1" "/storage/sdcard/dir2" Eu faço isso na conclusão da inicialização co...




© 2021 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.