一种Windows下使用Android Studio调试ijkplayer的方法

前言

在学习ijkplayer的过程中,如果能够动态调试,无疑将助力不少。本文将介绍一种Windows系统下使用Android Studio进行ijkplayer源码调试的方法,该方法亦可调试ffmpeg的代码。

思路

Android Studio提供了LLDB调试native代码的工具,需要两个条件:

  1. 可以找到源码路径
  2. 带符号表的so文件

本方法主要通过达到上述两个条件以达到调试的目的。编译过程在linux上进行,并在windows上利用编译产物。
具体步骤如下:

具体步骤

Step1 下载源码

在windows上下载ijk依赖的其他代码。
ijkplayer提供了linux下载依赖源码的shell脚本,这里参考shell脚本编写了windows上的bat批处理文件,以实现在windows上下载依赖源码的目的。直接在命令行窗口执行init_android.bat即可;

Step2 将源码添加到Android Studio工程

在Android Studio中打开ijkplayer工程,目录pathtoijkplayer\android\ijkplayer
ijkplayer-example中增加ndk编译支持,以达到添加native代码的目的
1) 修改ijkplayer-example/build.gradle

android {
   
    defaultConfig {
   
        # 在defaultConfig闭包下添加ndk配置
        ndk {
   
            # 其他可能的参数
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
    # 在android闭包下添加externalNativeBuild配置
    externalNativeBuild {
   
        cmake {
   
            path 'src/main/cpp/CMakeLists.txt'
        }
    }
}
  1. 新建文件 ijkplayer-example/src/main/cpp/CMakeLists.txt
    以下cmake文件新增了一个动态库ijkplayer-cmake,并使用cmake中的include_directories将ffmpeg和ijkplayer的代码加入当前工程。
cmake_minimum_required(VERSION 3.4.1)
project("ijkplayer-cmake")

set(src_files main.cpp

你可能感兴趣的:(windows,android,studio)