crash日志信息

07-06 15:31:24.866 26421 26446 E AndroidRuntime: java.lang.UnsatisfiedLinkError: Can't obtain static method fromNative(Method, Object) from class com.sun.jna.Native
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.sun.jna.Native.initIDs(Native Method)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.sun.jna.Native.<clinit>(Native.java:144)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.sun.jna.Pointer.<clinit>(Pointer.java:41)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.sun.jna.ptr.PointerByReference.<init>(PointerByReference.java:28)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.sun.jna.ptr.PointerByReference.<init>(PointerByReference.java:24)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.sensetime.stmobileapi.STMobileMultiTrack106.<init>(STMobileMultiTrack106.java:32)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.cloudminds.facedetect.FaceDetect.stFaceDetect(FaceDetect.java:396)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.cloudminds.facedetect.FaceDetect.faceDetect(FaceDetect.java:440)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at com.cloudminds.cloudgate.manager.CameraManager$CheckFace.run(CameraManager.java:609)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:751)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:95)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:154)
07-06 15:31:24.866 26421 26446 E AndroidRuntime: 	at android.os.HandlerThread.run(HandlerThread.java:61)

由于android studio的同一工程下,有两个模块均用到了jna.jar和libjnidispatch.so(一个直接使用,一个间接使用),且两个模块中的jna版本不一致导致抛该问题。将模块中jna.jar和libjnidispatch.so替换成一个版本解决问题。

但是还有一个疑问,通过build.gradle中通过productFlavors来编译不同的版本,这两个模块没有任何关联,为什么会引起这样的冲突?

1、https://github.com/java-native-access/jna/issues?q=Can%27t+obtain+static+method+fromNative%28Method%2C+Object%29+from+class+com.sun.jna.Native
2、https://www.tonylin.idv.tw/dokuwiki/doku.php/java:jna:can_t_obtain_static_method%E7%9A%84error

文章目录crash日志信息解决方案参考crash日志信息07-06 15:31:24.866 26421 26446 E AndroidRuntime: java.lang.UnsatisfiedLinkError: Can't obtain static method fromNative(Method, Object) from class com.sun.jna.Native07-06 15:31:24.866 26421 26446 E AndroidRuntime: at com.sun.
A novel method for obtaining a single shot multi-point high dynamic range pulse contrast measurement is presented. We use Dammann gratings to generate multiple beamlets by division of amplitude on ultrashort laser pulses. The analysis results show that this method can achieve high dynamic range in pulse contrast measurement on a single shot by using photomultiplier tube (PMT) detectors and the long working distances to minimize cross talk between channels. Some distortion of pulse shape is also
对比了下native 函数传参返回值 ,看起来没错,但就是报没找到native函数,但是用历史遗留已经Build出来的apk就没有这个问题。 所以问题应该出现在apk的mk 文件里面。 后来搜索E/dalvikvm( 2456): ERROR: couldn’t find native method的关键字找到了解决方法:
扩展Object 本机指针数据类型的抽象。在Java方面,Pointer实例表示一个本机指针。本机指针可以是任何类型的本机指针。方法,例如write,read,getXXX,和setXXX,提供手段来访问存储器中的本地指针底层。 虽然存在构造函数以根据整数值创建Pointer,但通常不是以这种方式创建指针是一... a:如果控制台的消息是类似 java.lang.UnsatisfiedLinkError: no MRChkLib in java.library.path,Error loading library MRChkLib 这样的错误信息 记录一下,那些年我们踩过的坑 CLibrary Instance = (CLibrary)Native.loadLibrary("NLPIR",CLibrary.class); 有时候打包放在jar的平级目录能读到,其实jna是去这里找的: Exception in thread "main" org.springframework.beans.factory.BeanCreati...
Springboot 集成 ElasticSearch的时候,报错如下: java.lang.ClassNotFoundException: com.sun.jna.Native at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_65] at java.lang.Cla...
导入spring源码之后报如下问题:Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16。 搜索之后本人的解决办法: 升级idea的kotlin插件 build.gradle文件的kotlin版本修改
javax.security.auth.login.loginexception: unable to obtain password from user 是 Java 身份验证系统中的一种异常情况。该异常通常出现在程序试图使用某个用户账户进行验证时,但是无法从用户获取到该账户的密码。这种情况通常表示用户输入的密码错误或者密码无法被系统获取到。 密码是用户账户的敏感信息,确保密码安全非常重要。如果程序无法获取到密码或者获取到了错误的密码,就无法对用户身份进行验证,这样就会出现安全漏洞。为了确保密码安全,Java 提供了一种加密方式,在程序中对密码进行加密,并将加密后的密码存储在数据库中。这样即使被黑客攻击,也无法获取到用户的真实密码,从而提高了系统的安全性。 当出现 javax.security.auth.login.loginexception: unable to obtain password from user 这种异常情况时,我们需要检查程序是否正确地实现了密码加密功能,同时检查用户是否输入了正确的密码。如果用户账户密码不被加密存储,那么就需要尽快处理该漏洞,将用户密码加密存储以提高系统安全性。此外,我们还可以尝试使用更安全的验证方式,例如双因素验证,以进一步提高系统的安全性。 总之,javax.security.auth.login.loginexception: unable to obtain password from user 异常提示我们密码加密与验证机制的重要性,我们需要在系统开发和使用过程中注意密码安全问题,确保系统的安全性和可靠性。
糖果丶shi分甜: File "E:\JobSoftWare\Anaconda3\envs\pytorch1.9\lib\site-packages\torch\onnx\utils.py", line 38, in select_model_mode_for_export is_originally_training = model.training AttributeError: 'collections.OrderedDict' object has no attribute 'training' 转换模型报这个错 您遇见过吗 Pytorch模型转onnx模型 发霉的古卤蛋: RuntimeError: Unexpected node type: onnx::Cast 请问这个问题有遇到过嘛? 是什么原因呀? Pytorch模型转onnx模型 weixin_44457426: RuntimeError: Attempted to trace SegmentConsensus, but tracing of legacy functions is not supported Pytorch模型转onnx模型 终身学习小达人: 看你保存的onnx路径,一般如果直接命名为”model.onnx“,那么就在当前路径下 Pytorch模型转onnx模型 终身学习小达人: 加载模型方式不对,加载方式与模型保存方式有对应的关系