Android6.0权限问题
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 32/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Domínio
- mobile, performance
Direção de pesquisa
Comece por LogWriter.java, especialmente por saveLogToSDCard na linha 105, e rastreie a chamada de saveLooperLog por meio de BlockCanaryCore.java e LooperPrinter.java. Reproduza a falha relatada no Android 6.0 e determine se as permissões em tempo de execução explicam o erro ENOENT. O trabalho estará concluído quando o comportamento de logging relacionado a permissões estiver compreendido e documentado ou corrigido, com cobertura para o caminho relatado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
您好,我在android6.0下集成Blockcanary,出现下面的错误,应该是Runtime Permission机制导致的(后来在系统设置里手工设置权限后重启应用没有再出现)。请教Blockcanary现在处理Runtime Permisssion是不是通过发送权限授权通知?
错误信息如下:
05-10 10:42:03.196 4973-5451/cn.com.panchan.homelauncher.debug E/LogWriter: saveLogToSDCard:
java.io.FileNotFoundException: /data/storage/emulated/0/Android/data/cn.com.example.homelauncher.debug/files/log/blockcanary/looper-2016-05-10_10-42-03.193.txt: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:459)
at java.io.FileOutputStream.(FileOutputStream.java:87)
at java.io.FileOutputStream.(FileOutputStream.java:127)
at com.github.moduth.blockcanary.LogWriter.saveLogToSDCard(LogWriter.java:105)
at com.github.moduth.blockcanary.LogWriter.saveLooperLog(LogWriter.java:53)
at com.github.moduth.blockcanary.BlockCanaryCore$1.onBlockEvent(BlockCanaryCore.java:60)
at com.github.moduth.blockcanary.LooperPrinter$1.run(LooperPrinter.java:72)
at android.os.Handler.handleCallback(Handler.java:743)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:150)
at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:445)
at java.io.FileOutputStream.(FileOutputStream.java:87)
at java.io.FileOutputStream.(FileOutputStream.java:127)
at com.github.moduth.blockcanary.LogWriter.saveLogToSDCard(LogWriter.java:105)
at com.github.moduth.blockcanary.LogWriter.saveLooperLog(LogWriter.java:53)
at com.github.moduth.blockcanary.BlockCanaryCore$1.onBlockEvent(BlockCanaryCore.java:60)
at com.github.moduth.blockcanary.LooperPrinter$1.run(LooperPrinter.java:72)
at android.os.Handler.handleCallback(Handler.java:743)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:150)
at android.os.HandlerThread.run(HandlerThread.java:61)
- Linguagem predominante
- Java
- Estrelas
- 6.7k
- Forks
- 1k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de markzhai/AndroidPerformanceMonitor
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
markzhai/AndroidPerformanceMonitor#144 · 4 comentários · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
markzhai/AndroidPerformanceMonitor#154 · 3 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 5/100
markzhai/AndroidPerformanceMonitor#153 · 5 comentários · 1 reação ·
-
这个库希望有人能维护一下Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
markzhai/AndroidPerformanceMonitor#149 · 5 comentários · 3 reações ·
-
如何保证捕获卡顿堆栈的准确性?Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
Todas as issues de markzhai/AndroidPerformanceMonitor
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
AllTheMods/AllTheModium#238 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
apache/stormcrawler#2264 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
commons-app/apps-android-commons#7115 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
objectionary/lints#1596 ·
Mantenedores costumam responder em até 2 dias