@
lee1997 我一般还是用 VS Code 看代码的,也用 VS Code 改代码( Android Studio 有时候也会用)。
AS 更多还是用于打断点,能打断点比直接去看代码梳理逻辑要容易很多,我之前也写过一篇断点调试的文章(但是现在新版本看评论似乎已经不生效了,可能要调整一下)
https://webrtc.mthli.com/basic/webrtc-breakpoint/除了打断点之外,还需要熟悉一下 WebRTC 的线程模型(和 Android Looper 比较像),以及信号槽机制(可以理解为观察订阅模式),单纯看 WebRTC 代码基本够用了( WebRTC 也封装了大量的第三方库,但这就是另外的话题了)。
最后如果你用 AS 看代码的话,直接导入 WebRTC 源码,索引会爆炸的( CPU 占用率 100%),所以要屏蔽一下第三方库的索引目录,比如可以在项目的 build.gradle 里这样写:
```
idea {
module {
excludeDirs.add(file("${webrtcIncludePath}/testing"))
excludeDirs.add(file("${webrtcIncludePath}/third_party"))
excludeDirs.add(file("${webrtcIncludePath}/tools"))
}
}
```
webrtcIncludePath 就是你本地的 webrtc/src 的绝对路径。