我想在旧的 Android 平台上显示 webp 图像。我尝试以下步骤:
- 下载最新的 Android SDK 和 NDK 包。
- 将 NDK 路径添加到系统环境
path
并在 Eclipse 首选项中进行设置。 - 在 Eclipse 中创建新的 Android 项目
- 右键单击项目文件夹,
Android Tools
->Add native support
,确认默认名称。 - 下载
libwebp-0.3.1.tar.gz
,解压到项目/jni
- 在 main 中添加
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)
,得到同样的错误。
或者,是否有任何预建文件可以轻松添加到我的项目中?