2016-01-09 21 views
2

您好我成功地構建了appunite的ffmpeg庫,包括臂V7A霓虹燈的支持,但是當我嘗試我的棉花糖設備上運行的庫我得到這個錯誤:的ffmpeg的Android:霓虹燈搭建了文本重

01-08 23:42:02.350: E/AndroidRuntime(10144): java.lang.UnsatisfiedLinkError: 
dlopen failed: /data/app/com.example.demo-1/lib/arm/libffmpeg-neon.so: has text relocations 

當我使用非霓虹燈構建時,它沒有任何問題。

所以我搜索了一下,發現這可能是相應的C/C++代碼中的一個錯誤,但另一方面,在使用NDK v。10e進行重建時應該修復它。這就是我所做的。但我仍然得到這些文本重:

~/Projekte/AndroidFFmpeg$ /usr/Android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-readelf -a library/src/main/jniLibs/armeabi-v7a/libffmpeg-neon.so | grep TEXTREL 
0x00000016 (TEXTREL)     0x0 
0x0000001e (FLAGS)      SYMBOLIC TEXTREL 

這個問題似乎是相關的,但並沒有幫助:

"ffmpeg has text relocations" error in Android

libavcodec.so: has text relocations

我該如何解決呢?

回答

3

這應該已經被修復(自從承諾https://git.libav.org/?p=libav.git;a=commitdiff;h=f963f80399d,2014年12月),所以確保你建立一個新的版本,它應該沒問題。

arm,aarch64和x86_64應該都可以正常工作而不需要文本重定位,但對於32位x86,您無法輕鬆避免它。 (對於x86,最簡單的方法是執行--disable-asm,但確實會造成很大的性能損失。)