# rknnruntime-jni **Repository Path**: ai-agents/rknnruntime-jni ## Basic Information - **Project Name**: rknnruntime-jni - **Description**: 瑞芯微RK3568/RK3588环境下,使用jni执行模型推理,解决Java调用RKNN模型问题。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-21 - **Last Updated**: 2026-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rknn runtime-java-jni #### 介绍 瑞芯微RK3568/RK3588环境下,使用jni执行模型推理,解决Java直接调用RKNN模型问题。 #### 使用说明 运行环境: OK3568(RK3568) Linux 6.1.118 rknpu 0.9.8 20240828 librknnrt /rknn_server 2.3.2 注意:rknpu2(0.9.x)必须在5.10内核及以上运行 #### 一、rknn运行环境准备: 1. 查看npu内核驱动版本,确保版本0.9.x,最好的0.9.8,否则就不用继续了: dmesg |grep rknpu [drm] Initialized rknpu 0.9.8 20240828 for fde40000.npu on minor 1 2. 执行restart_rknn.sh脚本查看是否是2.3.2版本,否则按下面脚本升级 进入项目jni目录,执行如下命令: mv /usr/bin/restart_rknn.sh /usr/bin/restart_rknn.sh.bak mv /usr/bin/start_rknn.sh /usr/bin/start_rknn.sh.bak mv /usr/bin/rknn_server /usr/bin/rknn_server.bak mv /usr/lib/librknnrt.so /usr/lib/librknnrt.so.bak mv ./libs/rknpu2/restart_rknn.sh /usr/bin/restart_rknn.sh mv ./libs/start_rknn.sh /usr/bin/start_rknn.sh mv ./libs/rknn_server /usr/bin/rknn_server mv ./libs/lib/librknnrt.so /usr/lib/librknnrt.so chmod 755 /usr/bin/restart_rknn.sh chmod 755 /usr/bin/start_rknn.sh chmod 755 /usr/bin/rknn_server.sh rm -rf /usr/lib/librknn-java.so cp ./librknn-java.so /usr/lib/ #### 二、测试JNI调用是否正常: 将编译过的java文件复制到指定目录,运行java: java --enable-native-access=ALL-UNNAMED -cp . ai.rknnruntime.RknnTest #### 注意事项 1. 输入数据预处理和后处理都在java代码中进行; 2. ONNX模型转RKNN模型后,模型的输入会从NCHW变成NHWC,rknn只支持NHWC,使用opencv读取的图片正好是NHWC格式; 3. 示例代码使用java的图片处理后的NHWC数据,图片大小正好是640*640,所以没有做缩放处理; 4. C++代码参考项目 [https://gitcode.com/gh_mirrors/rk/rknn_model_zoo](https://gitcode.com/gh_mirrors/rk/rknn_model_zoo) 5. Java代码参考项目 [https://gitee.com/agricultureiot/yolo-onnx-java](https://gitee.com/agricultureiot/yolo-onnx-java)