安卓,能否查看是哪个 app 往磁盘写了数据?

2016-10-18 09:48:35 +08:00
 lfk0000

最近在使用 xInternalSD 整治各种 app 往内部储存根目录下拉屎的坏毛病

但是有些文件夹(比如 amap ,高德地图缓存,不知道是哪个 app 内置了高德地图生成的)找不到主人,头疼中

不知道有没有办法可以监控一下?

( logcat 会记录文件读写么?如果能,求关键字。。。

9380 次点击
所在节点    Android
11 条回复
zachgenius
2016-10-18 10:02:20 +08:00
估计得要 ROOT 权限,这个我觉得可以开发个
winterbells
2016-10-18 10:36:06 +08:00
我只知道安卓是支持部分 linux 命令的(要安装 busybox ?非专业人士。。),不过可能需要 root
wjidea
2016-10-18 10:56:09 +08:00
根据 glances 写一个?
lfk0000
2016-10-18 10:56:25 +08:00
@winterbells root 和 busybox 都有,谢谢,我去这个思路搜一下...
honeycomb
2016-10-18 11:42:08 +08:00
xposed+xprivacy 可以看相应 API 最近的 API 调用历史
bluesky139
2016-10-18 12:18:02 +08:00
@honeycomb 但是这个应该只能获取 Java 层的调用, native 实现的估计不行。
mrqyoung
2016-10-18 12:47:36 +08:00
Android 有一个 FileObserver API 可以监听文件事件,底层据说是 Linux 的 inotify 机制
https://developer.android.com/reference/android/os/FileObserver.html

也可以直接看看 busybox 下 inotify

自己网上抄代码写一个 apk 监听,不过没什么*用因为没 XPosed 只能看看手动删删下次还是一堆 shit ,并且长时间开着监听又怕影响性能,一般只是打开它监听再开 app 看它操作了哪些文件。
![Screenshot_2016-10-18-12-29-05.png]( https://ooo.0o0.ooo/2016/10/18/5805a7de1296f.png)
lfk0000
2016-10-19 11:36:26 +08:00
@mrqyoung 这个好,就是想要这种软件。。。
可以发一份到邮箱么 lfk0000 at gmail.com ,谢谢!
bluesky139
2016-10-19 12:44:47 +08:00
@mrqyoung 那个 FileObserver API 似乎不能监听具体是哪个应用在操作文件。截图的那个 apk 可以放出来么,我想参考下。
mrqyoung
2016-10-19 22:54:31 +08:00
@lfk0000 @bluesky139 刚提交到了 github :
仓库: https://github.com/mrqyoung/FileMon
APK : https://github.com/mrqyoung/FileMon/raw/master/app/build/outputs/apk/app-debug.apk

就是一个 debug 的 apk 没签名当作 demo 试用一下吧,长时间监控还要服务保活
mrqyoung
2016-10-19 23:33:15 +08:00
悲剧了,看了一下代码,达不到监控的要求,使用的是很拙略的 PackageManager.getRunningAppProcesses() 方法获取的第一个 App ,也就是说把当前正在操作文件的锅扔给了当前正在运行的进程列表里面的第一个,并不准确!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/313493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX