繁体   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