通过ADB调试OrangePi
1、下载adb
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
2、配置环境变量
解压安装后,把解压路径放到系统变量里去(Path),
环境变量如何配置,比如我的配置如下图:

4、电脑打开cmd窗口
输入 adb version :显示 adb 版本,说明安装成功

5.安装软件

1.adb root
adb root # 重启adbd为root模式
adb shell # 进入交互式shell
su -c "你的命令" # 通过su执行特权命令
获取预编译的 libgpiod 库 :可以在一些开源项目或社区提供的安卓库资源网站上查找是否有已经编译好的 libgpiod 库文件,如 soimy/libgpiod-android 或 RedLeavesSun/libgpiod-android 等。
导入安卓项目 :将下载的预编译库文件解压后,将其对应的.so 库文件复制到安卓项目的 libs 目录下,如app/src/main/jniLibs/armeabi-v7a/,并正确配置 Android.mk 或 CMakeLists.txt 文件中对该库的引用。
查看文件 CD接入文件夹 cd ..退回上一级文件夹



把文件从香橙派拷贝出来

通过adb logcat监控库加载过程,过滤dlopen相关错误
调试期间报如下错误
10-17 16:41:28.203 25132 25132 D wiringPi: piBoardId: BOARD=orangepi5
10-17 16:41:28.203 25132 25132 D wiringPi: wiringPiSetup: open /dev/mem: Permission denied
10-17 16:41:28.215 25132 25179 I scudo : Scudo ERROR: invalid chunk state when deallocating address 0x200006fda0a0e20
- 核心问题分析
错误日志显示两个关键问题:
/dev/mem 访问被拒绝(Permission denied)7
内存分配异常(Scudo ERROR)5
根本原因是 WiringPi 需要直接访问硬件内存空间,但普通用户无权限操作 /dev/mem 设备节点7。
adb shell # 连接设备
su # 切换root用户
chmod 666 /dev/mem # 临时开放读写权限
通过IP链接Orange Pi
// 给当前连接的设备指定一个监听的端口
adb tcpip 5555
// 使用手机IP地址进行无线连接
adb connect 192.168.1.xxx
//查看设备的连接情况
adb devices
浙公网安备 33010602011771号