Como o aLogcat agora não funciona mais com o Jelly Bean , como posso acessar os arquivos de log do sistema no meu dispositivo sem acesso root ou anexá-lo ao computador?
Eu tentei usar adb logcat
no meu PC e funcionou bem, então sei que muitas mensagens estão sendo registradas.
O uso logcat
do Emulador de terminal Android no meu Nexus 7 mostra quase nenhuma saída e, a adb logcat
partir do Emulador de terminal Android , inicia o daemon, mas apenas diz - waiting for device -
e nada mais aparece.
Então, é possível acessar arquivos de log do Android no meu Nexus 7 sem acesso root ?
4.1-jelly-bean
logging
nexus-7
Mark Booth
fonte
fonte
Respostas:
Não, por motivos de segurança, não é possível acessar arquivos de log do Android no Nexus 7 (ou em qualquer outro dispositivo executando o Jelly Bean ou superior) sem acesso root. O Google mudou isso com o Jelly Bean.
Eu sugiro que você espere até os leitores de logcat como aLogCat e outros serem corrigidos (ou seja, eles exigirão acesso root para mostrar todos os logs então).
From AISEC-TR-2012-001-Android-OS-Security.pdf - 3.3 Modelo de permissão do Android :
Todas as soluções abaixo requerem acesso root :
Você precisa executar o logcat como root em um shell ou concedê-lo manualmente através do comando shell pm (requer root) também funciona (consulte XDA , troque org.jtb.alogcat.donate com o nome do pkg do aplicativo):
pm grant org.jtb.alogcat.donate android.permission.READ_LOGS
Isso é para os preguiçosos e não é sugerido: se você estiver desesperado, descuidado e preguiçoso, poderá corrigi-lo, dando a cada aplicativo a permissão READ_LOGS, aplicando esse truque feio e inseguro ( Chainfire via twitter ):
chmod 04755 /system/bin/logcat
Para citar a postagem do G + de Koushik Dutta, desenvolvedor do CyanogenMod :
fonte
pm grant
opção. Note que como eu agora dizer em minha outra resposta , você precisa especificar um pacote ligeiramente diferente se você não estiver usando a doar versão do aLogCat :pm grant org.jtb.alogcat android.permission.READ_LOGS
READ_LOGS
é igualREAD_CONTACTS
em algumas plataformas. Eu acho que isso significa que alguns aplicativos colocam dados de contato nos logs, mas isso não é o mesmoREAD_CONTACTS
. Mas então eu diria que o artigo está escrito em tom alarmista.Estou confuso com isso, embora isso explique algumas coisas.
Executando o mesmo aplicativo no meu nexus7 e no galaxy nexus, ambos no jellybean, o telefone vê a saída de log de todos os aplicativos, o tablet não. Isso diria que não é geleia, é o nexo7. Fazendo o backup, acabei de verificar e os dois têm kernels diferentes. O tablet, com um mais novo.
Talvez seja o kernel atualizado que significa que os logs não aparecem.
Acho que vou ter que torcer depois de tudo: (
fonte
Eu desenvolvi um aplicativo Logcat que usa uma abordagem alternativa. Ele utiliza o recurso de depuração remota. Você precisa habilitá-lo primeiro no telefone, mas isso deve ser feito apenas uma vez e, em seguida, você pode usar o aplicativo para recuperar todos os logs.
fonte