因?yàn)榧沈v訊的sdk株茶,發(fā)現(xiàn)庫沖突了恕洲; 本打算只用騰訊的那三個(gè)庫塔橡,發(fā)現(xiàn)騰訊的ijkplayer做了一件比較那啥的事情,他們把這幾個(gè)方法改了名稱霜第,導(dǎo)致不能直接換庫葛家;
private static native void native_init();
private native void native_setup(Object IjkMediaPlayer_this);
private native void native_finalize();
private native void native_message_loop(Object IjkMediaPlayer_this);
UncaughtException detected: java.lang.UnsatisfiedLinkError: No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_init() (tried Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1init and Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1init__)
1: libijkffmpeg.so
find ./ -name "*.sh" -exec grep -HEn --color "ijkffmpeg" {} \;
./android/contrib/tools/do-compile-ffmpeg.sh
修改ijkffmpeg 為 ijkffmpeg2
編譯ffmpeg,會(huì)生成新的 libijkffmpeg2.so
find ./ -name "*.mk" -exec grep -HEn --color "ijkffmpeg" {} \;
vi ./android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk
兩處:
LOCAL_MODULE := ijkffmpeg2
LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg2.so
2:libijkplayer.so
find ./ -name "*.mk" -exec grep -HEn --color "ijkplayer" {} \;
修改./ijkmedia/ijkplayer/Android.mk
LOCAL_SHARED_LIBRARIES := ijkffmpeg2 ijksdl2
LOCAL_MODULE := ijkplayer2
3:libijksdl.so
find ./ -name "*.mk" -exec grep -HEn --color "ijksdl" {} \;
./ijkmedia/ijkplayer/Android.mk:62:LOCAL_SHARED_LIBRARIES := ijkffmpeg2 ijksdl2
./ijkmedia/ijksdl/Android.mk:76:LOCAL_MODULE := ijksdl2