问题
I'm using the metada-exttractor in android ver.: 2.7.0.
And this lib sometimes throw this exception:`
STACK_TRACE=java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.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$1.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)
This throws only sometimes in same cases, I CANNOT catch or solve this problem because is in the library....
回答1:
It could be a corrupted metadata in your image. Have you tried other images?
This forum post seems to suggest that was the cause for some other users.
来源:https://stackoverflow.com/questions/32935029/arrayindexoutofboundsexception-bug-in-medata-extractor-lib