簡體   English   中英

錯誤1 libavcodec.so文件格式無法識別Android GL動態壁紙

[英]Error 1 libavcodec.so File format not recognized Android GL Live Wallpaper

我正在嘗試制作一個動態壁紙為Android播放位於android-asset設備上的.mp4視頻(我正在使用的示例,它實際上在運行時將文件復制到SD卡/無所謂)

我找到了這個例子並且使用這篇文章,我能夠通過NDK設置我的eclipse並構建項目。 使用NDK插件在eclipse中構建時,我在問題窗口中出現此錯誤:

    Description Resource    Path    Location    Type
make: *** [libs/armeabi/libavcodec.so] Error 1  GLWallpaperVideoDemo-master         C/C++ Problem
make: *** Deleting file `libs/armeabi/libavcodec.so'    GLWallpaperVideoDemo-master         C/C++ Problem

如果我嘗試從命令提示符運行ndk-build ,我會得到相同的錯誤。

我從上面的鏈接下載了項目,然后導入到eclipse中。 我將lib GLWallpaperService添加到構建路徑,並確保我的NDK已設置。 知道lib文件夾更改為libs我也嘗試將GLWallpaperService移動到libs文件夾,這沒有幫助。

該項目在沒有NDK的情況下構建得很好,但在嘗試運行壁紙時顯然是錯誤,因為沒有構建本機庫。

我該如何解決這個錯誤?

你通過git clone https://github.com/frankandrobot/GLWallpaperVideoDemo.git獲得的軟件包是面向Linux的。 文件jni\\ffmpeg-android\\build\\ffmpeg\\armeabi\\lib\\libavcodec.so和許多其他文件只是實際文件的符號鏈接。

為了在Windows上輕松完成所有工作,我建議轉到jni\\ffmpeg-android\\build\\ffmpeg\\armeabi\\lib文件夾,然后運行

del *.so
copy libavcodec.so.52.99.1 libavcodec.so
copy libavcore.so.0.16.0 libavcore.so
copy libavdevice.so.52.2.2 libavdevice.so
copy libavfilter.so.1.69.0 libavfilter.so
copy libavformat.so.52.88.0 libavformat.so
copy libavutil.so.50.34.0 libavutil.so
copy libswscale.so.0.12.0 libswscale.so

問題可能是因為文件損壞了。 嘗試再次構建ffmpeg庫或找到另一個版本。 因為我在嘗試編譯項目時在eclipse中有不同的錯誤:

C:/Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi-strip:./ libs / armeabi / libavcodec.so: 文件格式無法識別

當我搜索此錯誤時,似乎錯誤是由於文件損壞: NDK預建的共享庫文件格式無法識別

或者庫不是Android可以使用的格式: 鏈接C ++靜態庫與android ndk時出錯(錯誤:文件格式無法識別)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM