Closed dtnguyn closed 4 years ago
You need xmpcore
on the classpath.
You need
xmpcore
on the classpath.
Thank you so much for replying to my issue! I am very new to this library, can you show me where to get the xmpcore, and how to include it into my classpath? Thank You!
@dzung123 There are multiple ways to achieve this, but none are specific to this library. This is general Java knowledge, and if you don't have this, you should read up on the Java classpath topic. The simplest way may be to use Maven, which will handle the classpath details for you, but getting to know Maven requires some effort.
In either case, you can't expect others to educate you about basic things like this in a GitHub issue.
@Nadahar thanks for helping out.
@dzung123 I also think Maven might be the easiest route forward for you here. Alternatively just get the xmpcore jar file and stick it next to the metadata-extractor jar file. Good luck.
(Please include as much information as possible, and attach a sample image if possible.) 2019-11-10 14:10:01.696 9480-9480/com.nguyen.galleryshield E/AndroidRuntime: FATAL EXCEPTION: main Process: com.nguyen.galleryshield, PID: 9480 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/adobe/internal/xmp/options/ParseOptions; at com.drew.metadata.xmp.XmpReader.(XmpReader.java:71)
at com.drew.imaging.jpeg.JpegMetadataReader.(JpegMetadataReader.java:57)
at com.drew.imaging.jpeg.JpegMetadataReader.readMetadata(JpegMetadataReader.java:84)
at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:147)
at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:125)
at com.drew.imaging.ImageMetadataReader.readMetadata(ImageMetadataReader.java:104)
at com.nguyen.galleryshield.Activity.ActivityContentDetail.onOptionsItemSelected(ActivityContentDetail.kt:153)
at android.app.Activity.onMenuItemSelected(Activity.java:4150)
at androidx.fragment.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:384)
at androidx.appcompat.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:219)
at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
at androidx.appcompat.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
at androidx.appcompat.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:64)
at androidx.appcompat.widget.Toolbar$1.onMenuItemClick(Toolbar.java:207)
at androidx.appcompat.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:781)
at androidx.appcompat.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
at androidx.appcompat.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
at androidx.appcompat.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
at androidx.appcompat.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
at android.widget.AdapterView.performItemClick(AdapterView.java:330)
at android.widget.AbsListView.performItemClick(AbsListView.java:1257)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3265)
at android.widget.AbsListView.onTouchUp(AbsListView.java:4254)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:3998)
at androidx.appcompat.widget.DropDownListView.onTouchEvent(DropDownListView.java:217)
at androidx.appcompat.widget.MenuPopupWindow$MenuDropDownListView.onTouchEvent(MenuPopupWindow.java:135)
at android.view.View.dispatchTouchEvent(View.java:13499)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3079)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2756)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2770)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2770)
at android.widget.PopupWindow$PopupDecorView.dispatchTouchEvent(PopupWindow.java:2554)
at android.view.View.dispatchPointerEvent(View.java:13758)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5836)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5619)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5115)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5168)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5134)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5274)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5142)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5331)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5115)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5168)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5134)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5142)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5115)
2019-11-10 14:10:01.696 9480-9480/com.nguyen.galleryshield E/AndroidRuntime: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7894)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7863)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7803)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8019)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:336)
at android.os.Looper.loop(Looper.java:174)
at android.app.ActivityThread.main(ActivityThread.java:7682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.adobe.internal.xmp.options.ParseOptions" on path: DexPathList[[zip file "/data/app/com.nguyen.galleryshield-_6nGbfdQmwpGZSxFgPUxQw==/base.apk"],nativeLibraryDirectories=[/data/app/com.nguyen.galleryshield-_6nGbfdQmwpGZSxFgPUxQw==/lib/arm64, /system/lib64, /system/product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 60 more