ijkplayer-android 移植与调试日志

来源:互联网 发布:网络词w . f是什么意思 编辑:程序博客网 时间:2024/06/05 17:41

step 1:
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.4

cd config
rm module.sh
ln -s module-default.sh module.sh
#以上是默认的设置,也可以使用
# ln -s module-lite.sh module.sh


step 2: 下载更新android-ndk
在C:\cygwin\home\Administrator\.profile文件尾添加
export ANDROID_SDK=E:/AS_install/sdk
export ANDROID_NDK=E:/AS_install/android-ndk-r10e
export PATH=$PATH:$ANDROID_SDK:$ANDROID_NDK:$ANDROID_SDK/platform-tools/
然后 source C:\cygwin\home\Administrator\.profile


step 3: 编译ijkplayer
./init-android.sh
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all或 ./compile-ffmpeg.sh armv7a

#编译ijkplayer
cd ..
./compile-ijk.sh armv7a

出现的问题及解决办法:
由于ijkplayer编译出来只有一个.so文件,要更改文件(屏蔽以下):
C:\cygwin\home\Administrator\ijkplayer-android\android\compile-ijk.sh
do_sub_cmd () {
    SUB_CMD=$1
#moved by yanhongfei
    if [ -L "./android-ndk-prof" ]; then
        rm android-ndk-prof
    fi


    #if [ "$PARAM_SUB_CMD" = 'prof' ]; then
    #    echo 'profiler build: YES';
    #    ln -s ../../../../../../ijkprof/android-ndk-profiler/jni android-ndk-prof
    #else
    #    echo 'profiler build: NO';
    #    ln -s ../../../../../../ijkprof/android-ndk-profiler-dummy/jni android-ndk-prof
    #fi


    case $SUB_CMD in
        prof)
            $ANDROID_NDK/ndk-build $FF_MAKEFLAGS
        ;;
        clean)
            $ANDROID_NDK/ndk-build clean
        ;;
        rebuild)
            $ANDROID_NDK/ndk-build clean
            $ANDROID_NDK/ndk-build $FF_MAKEFLAGS
        ;;
        *)
            $ANDROID_NDK/ndk-build $FF_MAKEFLAGS
        ;;
    esac
}

在文件C:\cygwin\home\Administrator\ijkplayer-android\android\ijkplayer\ijkplayer-armv7a\src\main\jni\Android.mk尾添加:
include C:/cygwin/home/Administrator/ijkplayer-android/ijkmedia/*.mk
include C:/cygwin/home/Administrator/ijkplayer-android/ijkprof/android-ndk-profiler-dummy/jni/*.mk

原创粉丝点击