0

古い Android プラットフォームで webp 画像を表示したいと思います。次の手順を試します。

  1. 最新の Android SDK と NDK パッケージをダウンロードします。
  2. システム環境に NDK パスを追加pathし、Eclipse 設定で設定します。
  3. Eclipse で新しい Android プロジェクトを作成する
  4. プロジェクト フォルダを右クリックし、Android Tools-> Add native support、デフォルト名を確認します。
  5. ダウンロードlibwebp-0.3.1.tar.gz、抽出してプロジェクトに/jni
  6. static {}webpToBitmapメソッドを mainに追加しActivityます。コードはWebP for Androidから取得されます
  7. /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_FILESand include $(BUILD_STATIC_LIBRARY)->に追加しようとしinclude $(BUILD_SHARED_LIBRARY)ましたが、同じエラーが発生しました。

または、プロジェクトに簡単に追加できるビルド済みファイルはありますか?

4

1 に答える 1

0

最後に、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    
于 2013-10-14T03:03:11.603 に答える