偶尔'没有找到原生的实施....'错误发生

时间:2014-06-21 05:35:34

标签: android java-native-interface

据推测,这不是以前在这里讨论过的情况。

我们正在使用使用JNI实现的CAN功能。

我昨天刚发现这个错误。当我尝试加载CAN库并在其中运行一个函数时,很少发生'找不到本机'错误的实现。

一旦我重新启动系统,错误就会消失并再次运行。

JNI代码是用C语言编写的,而不是用C ++编写的。

任何帮助将不胜感激!!!!

错误日志:

D/dalvikvm( 1514): No JNI_OnLoad found in /system/lib/libFlexCAN.so 0x41945b10, skipping init
W/dalvikvm( 1514): No implementation found for native Lcommunication/flexcan/core/Connection;.na_openPort:(I)I
E/Exception( 1514): java.lang.UnsatisfiedLinkError: Native method not found: communication.flexcan.core.Connection.na_openPort:(I)I
E/Exception( 1514):  at communication.flexcan.core.Connection.na_openPort(Native Method)
E/Exception( 1514):  at communication.flexcan.core.Connection.access$0(Connection.java:117)
E/Exception( 1514):  at communication.flexcan.core.Connection$ReceiveThread.run(Connection.java:147)

1 个答案:

答案 0 :(得分:0)

在使用库之前,您需要使用NDK构建库。构建之后,它将生成可以使用的.so文件。详情:https://developer.android.com/tools/sdk/ndk/index.html