我想在较旧的Android平台上显示webp图像。我尝试以下步骤:
path
,并在Eclipse首选项中进行设置。Android Tools
-> Add native support
,确认默认名称。libwebp-0.3.1.tar.gz
,解压缩到项目/jni
static {}
和webpToBitmap
方法Activity
来自Android的WebP/jni/swig/libwebp.jar
(附带libwebp源)添加到Java构建路径和import com.google.webp.libwebp;
。当我尝试使用这些错误时webpToBitmap
:(删除不必要的时间/程序包名称)
Could not find method com.google.webp.libwebp.WebPDecodeARGB, referenced from method ....MainActivity.webpToBitmap
VFY: unable to resolve static method 4601: Lcom/google/webp/libwebp;.WebPDecodeARGB
E/AndroidRuntime(12614): java.lang.UnsatisfiedLinkError: Couldn't load webp from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/....apk"],nativeLibraryDirectories=[/data/app-lib/..., /vendor/lib, /system/lib]]]: findLibrary returned null
我也尝试将添加swig/libwebp_java_wrap.c \
(来自libwebp源)添加到Android.mk
LOCAL_SRC_FILES
和include $(BUILD_STATIC_LIBRARY)
->中include $(BUILD_SHARED_LIBRARY)
,得到了相同的错误。
或者,是否有任何我可以轻松添加到项目中的预构建文件?
最后,通过获取0.3.1发行版中包含的jar的更新版本来解决此错误。该软件包中包含的软件包已损坏,您可以使用0.3.0之前的旧版本,也可以使用James在此链接上编译的新版本:
https://groups.google.com/a/webmproject.org/forum/#!topic/webp-discuss/4nNFdaE2GXI
总结一下:
这使用了0.3.1源代码树的略微修改版本。libwebp.jar文件不适用于该树,我们必须对Android.mk文件进行一些小的修改。对0.3.1发行版中的文件进行以下更改,并获取新的libwebp.jar。
添加到Android.mk:
swig/libwebp_java_wrap.c \
-include $(BUILD_STATIC_LIBRARY)
+include $(BUILD_SHARED_LIBRARY)
LOCAL_ARM_MODE := arm
Application.mk应该包含:
APP_ABI := armeabi armeabi-v7a
APP_OPTIM := release
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句