Ошибка UVCCamera: registerNativeMethods: класс 'com / serenegiant / usb / UVCCamera' не найден - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь загрузить loadLibrary UVCCamera, но при подключении устройства получаю ClassNotFoundException.

Это ClassNotFoundException не может найти UVCCamera.so?или не можете найти метод или класс из UVCCamera?Или какой путь со мной не так?

Какое направление я должен попробовать?Или какой шаг я пропустил?Спасибо.

2019-02-14 16:55:27.603 30921-30940/? E/libUVCCamera: [serenegiant_usb_UVCCamera.cpp:250:registerNativeMethods]:registerNativeMethods: class'com/serenegiant/usb/UVCCamera' not found
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.serenegiant.usb.UVCCamera" on path: DexPathList[[zip file "/data/app/com.vitiny.vitinyreader2-1/base.apk"],nativeLibraryDirectories=[/data/app/com.vitiny.vitinyreader2-1/lib/arm, /data/app/com.vitiny.vitinyreader2-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String) (Runtime.java:-2)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.String java.lang.Runtime.doLoad(java.lang.String, java.lang.ClassLoader) (Runtime.java:1060)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void java.lang.Runtime.loadLibrary0(java.lang.ClassLoader, java.lang.String) (Runtime.java:975)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void java.lang.System.loadLibrary(java.lang.String) (System.java:1567)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void com.vitiny.vitinyreader2.usb.UVCCamera.<clinit>() (UVCCamera.java:60)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void com.vitiny.vitinyreader2.USBWebCam.CameraHandler$CameraThread.handleOpen(com.vitiny.vitinyreader2.usb.USBMonitor$UsbControlBlock) (CameraHandler.java:279)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void com.vitiny.vitinyreader2.USBWebCam.CameraHandler.handleMessage(android.os.Message) (CameraHandler.java:144)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void android.os.Looper.loop() (Looper.java:154)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at void com.vitiny.vitinyreader2.USBWebCam.CameraHandler$CameraThread.run() (CameraHandler.java:566)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470] 
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]     in call to NewGlobalRef
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]     from java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470] "CameraThread" prio=5 tid=15 Runnable
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   | group="main" sCount=0 dsCount=0 obj=0x12c47580 self=0xa2ed3000
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   | sysTid=30940 nice=0 cgrp=default sched=0/0 handle=0x90d95920
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   | state=R schedstat=( 3585209 1942552 10 ) utm=0 stm=0 core=0 HZ=100
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   | stack=0x90c93000-0x90c95000 stackSize=1038KB
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   | held mutexes= "mutator lock"(shared held)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #00 pc 0034f5b5  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+128)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #01 pc 0032ff71  /system/lib/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+308)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #02 pc 00239155  /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+848)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #03 pc 00239677  /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+58)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #04 pc 000ca47b  /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+46)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #05 pc 000ca067  /system/lib/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+362)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #06 pc 000c907f  /system/lib/libart.so (_ZN3art11ScopedCheck22CheckPossibleHeapValueERNS_18ScopedObjectAccessEcNS_12JniValueTypeE+26)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #07 pc 000c855b  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+802)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #08 pc 000cb229  /system/lib/libart.so (_ZN3art8CheckJNI6NewRefEPKcP7_JNIEnvP8_jobjectNS_15IndirectRefKindE+452)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #09 pc 00335b81  /system/lib/libart.so (_ZN3art6Thread22SetClassLoaderOverrideEP8_jobject+32)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #10 pc 0023b11b  /system/lib/libart.so (_ZN3art9JavaVMExt17LoadNativeLibraryEP7_JNIEnvRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEP8_jobjectP8_jstringPS9_+1878)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #11 pc 00003167  /system/lib/libopenjdkjvm.so (JVM_NativeLoad+178)
2019-02-14 16:55:27.636 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   native: #12 pc 0007118d  /system/framework/arm/boot.oat (Java_java_lang_Runtime_nativeLoad__Ljava_lang_String_2Ljava_lang_ClassLoader_2Ljava_lang_String_2+144)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.Runtime.nativeLoad(Native method)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.Runtime.doLoad(Runtime.java:1060)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   - locked <0x0c2d04f6> (a java.lang.Runtime)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.Runtime.loadLibrary0(Runtime.java:975)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   - locked <0x0c2d04f6> (a java.lang.Runtime)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at java.lang.System.loadLibrary(System.java:1567)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at com.vitiny.vitinyreader2.usb.UVCCamera.<clinit>(UVCCamera.java:60)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at com.vitiny.vitinyreader2.USBWebCam.CameraHandler$CameraThread.handleOpen(CameraHandler.java:279)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at com.vitiny.vitinyreader2.USBWebCam.CameraHandler.handleMessage(CameraHandler.java:144)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at android.os.Handler.dispatchMessage(Handler.java:102)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at android.os.Looper.loop(Looper.java:154)
2019-02-14 16:55:27.637 30921-30940/? A/art: art/runtime/java_vm_ext.cc:470]   at com.vitiny.vitinyreader2.USBWebCam.CameraHandler$CameraThread.run(CameraHandler.java:566)

1 Ответ

0 голосов
/ 14 февраля 2019

2019-02-14 16: 55: 27.603 30921-30940 /?E / libUVCCamera: [serenegiant_usb_UVCCamera.cpp: 250: registerNativeMethods]: registerNativeMethods: class'com / serenegiant / usb / UVCCamera 'не найден

Вам необходимо включить часть Java, то есть .jar,которая соответствует вашим общим библиотекам, то есть libUVCCamera.so.

Нативная функция registerNativeMethods пытается найти класс Java com/serenegiant/usb/UVCCamera и зарегистрировать его как метод JNI, поэтому вы должны убедиться, что этот класс доступен на стороне Java.

...