元数据提取器库中的 ArrayIndexOutOfBoundsException 错误

ArrayIndexOutOfBoundsException bug in medata extractor lib

我在 android 版本中使用 metada-exttractor:2.7.0.

而且这个库有时会抛出这个异常:`

    STACK_TRACE=java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:848)
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=256; index=352
at java.lang.Byte.valueOf(Byte.java:299)
at com.drew.imaging.jpeg.JpegSegmentData.getOrCreateSegmentList(Unknown Source)
at com.drew.imaging.jpeg.JpegSegmentData.addSegment(Unknown Source)
at com.drew.imaging.jpeg.JpegSegmentReader.readSegments(Unknown Source)
at com.drew.imaging.jpeg.JpegMetadataReader.process(Unknown Source)
at com.drew.imaging.jpeg.JpegMetadataReader.readMetadata(Unknown Source)
at com.drew.imaging.jpeg.JpegMetadataReader.readMetadata(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)
at com.drew.imaging.ImageMetadataReader.readMetadata(Unknown Source)
at com.hexar.filebroswer.database.PhotoRecord.getLastModifyDate(PhotoRecord.java:99)

这仅在相同情况下有时会抛出,我无法捕获或解决此问题,因为它在库中....

这可能是您图像中的元数据损坏。你试过其他图片吗?

这个论坛 post 似乎表明这是其他一些用户的原因。