问题描述 + 解决方法
在jna使用.so库的工程中报错
1 java.lang.UnsatisfiedLinkError: Unable to load library '/javaServer/videoSchedule/libpalletDetector.so':
2 Caused by: java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/android-arm/libjnidispatch.so
1是找不到自己native C++生成的库,2是找不到jna官网平台下载的pltform平台的库
两个问题的解决方法都是确认自己工程中构建环境的路径是否正确
无法使用jna
问题现象,由于久远,没记录。大概就是jna没法使用
核对自己Native C++工程生成的库平台架构,与自己下载的jna平台包架构是否一致
日志打印
java层打印,打印单个数据,输出到debug的 Logcat import android.util.Log;
Log.i("maxcount value", String.valueOf(tmpArray1[0]));
java层打印,打印数组crctmpArray,输出到debug的 Logcat
System.out.println(Arrays.toString(crctmpArray));
C++层打印,将日志输出到androidstudio中debug的 Logcat
#include <android/log.h>
#define LOG_TAG "android_log"
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__ )
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__ )
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__ )
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
LOGD("current android log %d\n",v);
推荐上一篇JNA实践
android开发001-java层调用底层C/C++/其他语言库的方法【理论】_java底层调用什么库-CSDN博客
【不好意思,麻烦你关注我啦,争取早日做个有用干货文主】