Android6.0权限问题
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 32/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 领域
- mobile, performance
调研方向
从 LogWriter.java 开始,重点查看第 105 行的 saveLogToSDCard,并跟踪从 saveLooperLog 经过 BlockCanaryCore.java 和 LooperPrinter.java 的调用。复现报告的 Android 6.0 失败问题,并确定运行时权限是否能解释 ENOENT 错误。当权限相关的日志记录行为得到理解并完成文档记录或修正,且为报告的路径提供覆盖时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
您好,我在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)
- 主要语言
- Java
- 星标
- 6.7k
- 派生
- 1k
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
markzhai/AndroidPerformanceMonitor 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
markzhai/AndroidPerformanceMonitor#144 · 4 条评论 · 1 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 52/100
markzhai/AndroidPerformanceMonitor#154 · 3 条评论 ·
-
难度 5/5 一周以上 新手友好度 5/100
markzhai/AndroidPerformanceMonitor#153 · 5 条评论 · 1 个 reaction ·
-
这个库希望有人能维护一下未关闭
难度 5/5 一周以上 新手友好度 15/100
markzhai/AndroidPerformanceMonitor#149 · 5 条评论 · 3 个 reaction ·
-
如何保证捕获卡顿堆栈的准确性?未关闭
难度 4/5 3-5 天 新手友好度 25/100
查看 markzhai/AndroidPerformanceMonitor 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 86/100
apache/rocketmq-dashboard#6331 ·
维护者通常 5 天内回复
-
status: team-only type: dependency-upgrade
难度 2/5 1-3 小时 新手友好度 68/100
spring-projects/spring-boot#52143 · 1 条评论 ·
维护者通常 1 天内回复
-
area/frontend good first issue kind/cooldown
难度 2/5 1-3 小时 新手友好度 78/100
kestra-io/kestra#20704 · 1 条评论 ·
维护者通常 1 天内回复