Android - java.lang.NoSuchFieldError:android.graphics.Bitmap $ CompressFormat.WEBP

时间:2013-10-11 01:24:48

标签: android performance encoding email-attachments webp

我正在尝试使用自API 1以来一直支持的非常简单的代码。

if (bitmap != null) {
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.WEBP, IMAGE_QUALITY, byteArrayOutputStream);
    byte[] bytes = byteArrayOutputStream.toByteArray();
    result = Base64.encodeToString(bytes, Base64.DEFAULT);
}

不知何故,

bitmap.compress(Bitmap.CompressFormat.WEBP, IMAGE_QUALITY, byteArrayOutputStream);

给了我一个奇怪的错误:java.lang.NoSuchFieldError: android.graphics.Bitmap$CompressFormat.WEBP这只发生在我的moto razr 2.3上

我在互联网上找不到任何关于此的内容。这是怎么回事? (我明白了,很明显,motorola的股票机器人并不认为包含它,但我将如何解决这个问题?)任何提示?

我想做的就是压缩获取屏幕(或视图)的快照,并以String形式以用户友好的方式附加它(同样的设备也不能正确地附加文件附件) )到电子邮件意图的正文,并将其传递给任何可以发送电子邮件的人。

尝试压缩到.jpeg,然后将其转换为base64编码的字符串,然后附加到正文中的电子邮件需要永远,并且不是非常用户响应。这不可能发生。

任何帮助?

1 个答案:

答案 0 :(得分:3)

android.graphics.Bitmap $ CompressFormat.WEBP仅适用于14级或以上的api。

尝试一些WebP库。
WebP library for java?