##先設置變量
set(FFMPEG ${CMAKE_SOURCE_DIR}/ffmpeg)
set(RTMP ${CMAKE_SOURCE_DIR}/rtmp)
# 導入ffmpeg的頭文件
include_directories(${FFMPEG}/include)
#配置環境變量
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${FFMPEG}/libs/${CMAKE_ANDROID_ARCH_ABI}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${RTMP}/libs/${CMAKE_ANDROID_ARCH_ABI}")
#導入所有cpp 文件,
file(GLOB player *.cpp)
#動態庫
add_library(
tsmplayer
SHARED
${player})
find_library(
log-lib
log)
target_link_libraries( # Specifies the target library.
tsmplayer
# Links the target library to the log library
# included in the NDK.
# 忽略順序的方式,導入
-Wl,--start-group
avcodec avfilter avformat avutil swresample swscale
-Wl,--end-group
log # 日志庫,打印日志用的
z # libz.so庫,是FFmpeg 的支持庫
rtmp # rtmp 流媒體
android # android 圖像處理
OpenSLES # OpenSLES native 音頻處理
${log-lib})
這里面一定要注意 / 分隔符的使用,稍有不慎就會各種報錯,而且這個錯誤提示的是告訴你找不到文件,如果看一些網上的文章很容易就深陷下去,搞得自己崩潰,別問我是怎么知道的,這個問題給我坑的不要不要的,
在配置CMAKE 文件之前還需要指定 NDK 的編譯以及打包版本
在build.gradle 文件
android{
defaultConfig{
externalNativeBuild {
cmake {
abiFilters "armeabi-v7a"
}
}
ndk{
abiFilters "armeabi-v7a"
}
}
}
配置好信息后,就可以愉快的開發 app 了,