vlc源码分析一 vlc-android native调试配置
1, 按照官网给出的链接,git clone代码,配置好android sdk,ndk…后运行compile.sh;
2, 出现一个protobuf相关的问题(貌似要求protobuf3),自己去网站下载后安装,即可编译通过;
3, 还是找个能上外网的,或者能FQ的帐号吧,编译过程中会下载好多与google相关的软件,为了避免出现意想不到的错误,你懂的;
4, 配置vlc-android:点击Edit configurations->Debugger->Debugger type,选Hybrid(或者有的显示为Dual),Symbol Directories选择vlc-android/libvlc/jni/obj/local/armeabi-v7a/;
前4步就可以断到native的地方了,但是makefile中有优化,不能正常debug,关掉优化有两个地方需要注意:
1, vlc目录下的contrib用的是第三方库,但是修改第三方库(如关闭live555的优化),android studio中的Build APK操作是不会重新编译live555,然后使用新版本的live555的,这里需要你手动make,并且手动将生成的.a文件拷贝到vlc-android/vlc/contrib/arm-linux-androideabi/lib/目录下,因为这个目录才是vlc-android拿出来编译libvlc.so文件时用到的;
2, libvlc工程封装了vlc工程(compile.sh时下载的)为libvlc.so,vlc工程编译后生成的文件放在vlc-android/vlc/build-android-arm-linux-androideabi文件夹下,vlc-android这么做应该是为了源码的整洁考虑。当添加了vlc工程的关闭优化操作(–enable-debug, --disable-optim等等,自己看makefile),并重新运行Build APK(实际执行的是compile-libvlc.sh)后,发现vlc-android/vlc/build-android-arm-linux-androideabi文件夹下的makefile并没有生效(仍然是-O2),仔细阅读发现compile-libvlc.sh在configure vlc工程时,加了if判断。所以暂时把if判断去掉,执行Build APK后,再加上,因为不加上的话每次都会重新configure,make等,非常耗时。这样操作后,vlc-android/vlc/build-android-arm-linux-androideabi文件夹下的makefile已经变成O0了,这样就可以正常native调试了。
相关文章
- android中的加密算法,Android中加密算法[通俗易懂]
- 代码加密 android,Android 开发怎样做代码加密或混淆「建议收藏」
- android activity自动跳转,Android activity跳转之finish()方法的作用
- 测试android sdk是否安装成功,配置Android SDK
- android 定时器实例,Android定时器和Handler用法实例分析
- Android ViewPager 垂直滑动 纵向滑动 VerticalViewPager[通俗易懂]
- libyuv编译Android平台so
- android toast显示时间,Android Toast自定义显示时间「建议收藏」
- 8个hybridapp开发工具_android hybrid
- Android保存图片到相册(适配android 10以下及以上)
- android进程间通信的方式_Android进程注入
- Android修改字体_android设置字体样式
- android studio输出文字_androiditem长按删除
- Android RIL 调试问题分析 ——系统篇(1)
- 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 获取 tombstone_0X 崩溃日志信息 )
- 【错误记录】Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1. )
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具收尾操作 | 关闭注入的动态库 | 恢复寄存器 | 脱离远程调试附着 )
- 【ijkplayer】编译 Android 版本的 ijkplayer ③ ( 执行 compile-ffmpeg.sh clean 命令 | 下载并配置 android-ndk-r10e )
- 【错误记录】Android Studio 编译时 lint 检查报错 ( WARNING: DSL element ‘android.dataBinding.enabled‘ is obsolet )
- 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )
- [android] 看博客学习Android常见的几种RuntimeException详解手机开发
- Android图像处理(类型转换,比例缩放,倒影,圆角)的小例子