Project

General

Profile

bug #369 » RK3576 Android rknn_yolov5_demo 编译和运行.md

shunwei xie, 03/13/2026 11:43 AM

 

RK3576 Android rknn_yolov5_demo 编译和运行

测试平台:RK3576 Android14系统
编译环境:Ubuntu22.04

编译

下载和解压android-ndk-r18b

wget https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip
unzip android-ndk-r18b-linux-x86_64.zip 

配置系统路径

export ANDROID_NDK_PATH=/mnt/data1/xie/android-ndk-r18b

进入rknpu2/examples/rknn_yolov5_demo路径下
执行编译命令

./build-android.sh -t rk3576 -a arm64-v8a

编译完整日志

===================================
TARGET_SOC=RK3576
TARGET_ARCH=arm64-v8a
BUILD_TYPE=Release
BUILD_DIR=/mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/build/build_RK3576_android_arm64-v8a_Release
ANDROID_NDK_PATH=/mnt/data1/xie/android-ndk-r18b
===================================
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /mnt/data1/xie/android-ndk-r18b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /mnt/data1/xie/android-ndk-r18b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/3rdparty/opencv/OpenCV-android-sdk (found version "3.4.5") 
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/build/build_RK3576_android_arm64-v8a_Release
[ 10%] Building CXX object CMakeFiles/rknn_yolov5_video_demo.dir/src/main_video.cc.o
[ 20%] Building CXX object CMakeFiles/rknn_yolov5_video_demo.dir/utils/mpp_decoder.cpp.o
[ 40%] Building CXX object CMakeFiles/rknn_yolov5_video_demo.dir/src/postprocess.cc.o
[ 40%] Building CXX object CMakeFiles/rknn_yolov5_demo.dir/src/main.cc.o
[ 50%] Building CXX object CMakeFiles/rknn_yolov5_video_demo.dir/utils/mpp_encoder.cpp.o
[ 60%] Building CXX object CMakeFiles/rknn_yolov5_video_demo.dir/utils/drawing.cpp.o
[ 70%] Building CXX object CMakeFiles/rknn_yolov5_demo.dir/src/preprocess.cc.o
[ 80%] Building CXX object CMakeFiles/rknn_yolov5_demo.dir/src/postprocess.cc.o
[ 90%] Linking CXX executable rknn_yolov5_video_demo
[100%] Linking CXX executable rknn_yolov5_demo
[100%] Built target rknn_yolov5_video_demo

[100%] Built target rknn_yolov5_demo
Consolidate compiler generated dependencies of target rknn_yolov5_demo
[ 40%] Built target rknn_yolov5_demo
Consolidate compiler generated dependencies of target rknn_yolov5_video_demo
[100%] Built target rknn_yolov5_video_demo
Install the project...
-- Install configuration: "Release"
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/./rknn_yolov5_demo
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/lib/librknnrt.so
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/lib/librga.so
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/./model/RK3576
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/./model/RK3576/yolov5s-640-640.rknn
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/./model/bus.jpg
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/./model/coco_80_labels_list.txt
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/./rknn_yolov5_video_demo
-- Installing: /mnt/data1/xie/rockchip/rk3576-linux/external/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Android/lib/libmpp.so
xie@kickpi:/mnt/data1/xie/roc

推送执行文件到板子

连接板子的usb口到PC,将整个demo目录到 /data:

adb root
adb remount
adb push Z:\rockchip\rk3576-linux\external\rknpu2\examples\rknn_yolov5_demo\install /data/

运行

adb shell
cd /data/install/rknn_yolov5_demo_Android 
export LD_LIBRARY_PATH=./lib
chmod 777 ./ -R
./rknn_yolov5_demo model/RK3576/yolov5s-640-640.rknn model/bus.jpg

运行完成会在当前路径下输出结果图像out.jpg

image-20260313114032345

    (1-1/1)