原来 Android app 即使 release 关闭 debugable 也是可以看到日志的啊

2023-03-13 11:57:33 +08:00
 lxxself

今天在 AS 中突然发现非调试 app 的日志出现,大为惊讶。什么小红书、淘宝、京东的一些日志信息都能会显示。 在群里咨询了大佬,原来一直都会输出显示。只是老版的 AS 给你默认过滤掉了所以看不到,现在新版本的 AS 放开了所有显示了。 刷新了认知,原来之前一直理解错了。。。


所以各位安卓开发对于日志输出的控制是忘了还是无所谓。。。

9378 次点击
所在节点    Android
13 条回复
debuggeeker
2023-03-13 13:03:29 +08:00
系统的 log ,不是 APP 自己要打的
lxxself
2023-03-13 14:15:23 +08:00
@debuggeeker 这些是是开发者自己打的,不是系统的
mxalbert1996
2023-03-14 14:37:19 +08:00
最新版 AS 一样是默认只显示当前打开的项目的日志,而这个在新老版都是可以关的。
你这里面的明显几乎都是系统打的(来自系统类,但是因为实际运行在应用进程中所以包名和进程号都是应用的)。
lxxself
2023-03-14 14:47:32 +08:00
@mxalbert1996 不是的,我试了我们自己的线上包,会输出 Log.d 的日志。你可以试试
fairytale110
2023-03-14 15:50:52 +08:00
筛选方式用正则,package:xxx ,才是指定应用的。
你上图只是筛选日志内容包含了的都会出来
lxxself
2023-03-14 16:24:38 +08:00
@fairytale110 筛选我知道的,我想表达的是:新版 AS 会显示所有所有非 debug 包的日志打印这事,似乎说是一直可以查看这些日志的,只是旧 AS 默认过滤了,新 AS 默认不过滤。我之前一直以为 release 包一般是看不到这些日志的。所以以后打日志调试还是要谨慎或封装下。
然后不清楚是就我一直这么认为,还是有些人之前和我的认知一样,现在才发现
mxalbert1996
2023-03-14 22:49:12 +08:00
@lxxself 我当然知道会输出,我是说你这截图里面的明显几乎是系统类的日志
mxalbert1996
2023-03-14 22:53:36 +08:00
这些来自系统类的日志是关不掉的,所以你用这个图来问日志输出控制是忘了还是无所谓就很奇怪,因为本来也没有应用自己输出的日志。
至于应用自己的日志要不要关,那就看自己了,带有敏感信息的当然是一定要关的,其它的关不关都无所谓。
WebKit
2023-03-15 09:30:00 +08:00
@lxxself 输入 log.d 是因为你们没有关啊。日志肯定是要自己手动关的,系统不会给你自动关。
zhanlanhuizhang
2023-03-16 09:46:34 +08:00
你需要手动关闭,你应该对打印日志封装一层,然后,在 Application 里面用 build.gradle 配置的变量,把 release,debug ,等等不同环境区分开来。
xiaoliangsteven
2023-03-16 18:57:08 +08:00
taobao 的日志比你看到的多多了, 这个是系统的日志哦
nicevar
2023-03-19 09:42:25 +08:00
旧 AS 也是可以看的,你是不会用
t4here
2023-07-27 14:44:06 +08:00

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

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

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

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

© 2021 V2EX