四 Android Studio 单步调试 WebRTC Android

目录

一 编译 Debug 包

二 工程配置

三 LLDB断点调试配置


前言:

之前开发过程中,WebRTC 在 Android 上的断点调试比较麻烦,一直困扰没有解决,后与IOS开发同学交流发现xcode是可以的,通过LLDB验证最后是可行的,解决了长久以来困扰


编译 Debug

搭建编译环境,编译rtc的so请参考之前文章

二 Ubuntu下编译WebRtc-Android

打断点自然需要使用到包含调试信息,编译 rtc库避免编译时这些信息被 strip 掉,

因此需要修改webrtc src目录下 build/toolchain/android/BUILD.gn文件

四 Android Studio 单步调试 WebRTC Android_第1张图片


二 工程配置

编译WebRTC用的是Ubuntu虚拟机 WebRTC 源码挂载可以共享目录

    

   buildTypes {
       ...
        debug {
            debuggable isDebug     // 必须设置为 true
            jniDebuggable isDebug  // 必须设置为 true
            minifyEnabled false // 必须设置为 false
        }
    }



   packagingOptions {
            // 如果不设置 doNotStrip,编译出来的安装包还是会丢失调试信息;
            doNotStrip "*/arm64-v8a/*.so"
            doNotStrip "*/armeabi-v7a/*.so"
   }

 


三LLDB断点调试配置

1 通过LLDB 命令并得到虚拟机打so的源码路径

2在 Android Studio Debugger 的 LLDB Startup Commands 中添加如下命令:

3替换为本机 WebRTC 源码共享目录的绝对路径,否则 LLDB 会替换失败(无法识别  务必为绝对路径 )

四 Android Studio 单步调试 WebRTC Android_第2张图片

 


四 单步调试

必须记录一下这个时刻,AndroidStudio 有断点调试能力

可以在 Android Studio 里单步调试 WebRTC Android 的 native 代码

Android开发的同学 现在就方便深入学习 WebRTC源码 

四 Android Studio 单步调试 WebRTC Android_第3张图片

 

你可能感兴趣的:(音视频,android,webrtc,android,studio,debug)