如何在Ubuntu系统中运行Bluecove?已在IntelliJ配置相关依赖
嘿,我来帮你搞定在Ubuntu上运行Bluecove的事儿!你已经在IntelliJ里配置好那两个jar包了,接下来咱们一步步来操作:
一、先搞定Ubuntu的蓝牙基础环境
- 首先检查蓝牙服务是否在运行:打开终端输入
systemctl status bluetooth,要是显示没运行,就用sudo systemctl start bluetooth启动它,还可以加个开机自启sudo systemctl enable bluetooth,省得下次还要手动开 - 确保你的蓝牙适配器是开启状态,要么在系统设置里打开蓝牙,要么用命令
bluetoothctl power on直接搞定
二、安装Bluecove需要的系统依赖
Bluecove在Linux上得靠系统的蓝牙库才能干活,Ubuntu上得装这几个包:
- 安装蓝牙开发库:
sudo apt-get install libbluetooth-dev - 可选装个蓝牙工具包,方便管理设备:
sudo apt-get install bluez-tools
三、两种方式运行你的代码
方式一:用IntelliJ直接运行
- 先确认你的项目用的是Ubuntu本地的JDK,比如openjdk-11,要是没装就先装:
sudo apt-get install openjdk-11-jdk - 打开IntelliJ的Run Configuration,给JVM加个参数:
-Dbluecove.native.path=/usr/lib(这个路径是系统蓝牙库的默认位置,要是你的不一样就改成实际路径) - 然后点击运行按钮就可以啦
方式二:用命令行编译运行
- 编译代码:假设你的代码文件叫
RemoteDeviceDiscovery.java,编译时要把两个jar包加进类路径:javac -cp bluecove-2.0.2.jar:bluecove-gpl-2.1.0.jar RemoteDeviceDiscovery.java - 运行程序:同样要指定类路径,还要加上JVM参数:
java -cp .:bluecove-2.0.2.jar:bluecove-gpl-2.1.0.jar -Dbluecove.native.path=/usr/lib RemoteDeviceDiscovery
四、碰到问题怎么排查
- 如果出现权限不足没法访问蓝牙设备,要么用
sudo前缀运行程序,要么把当前用户加入bluetooth组:sudo usermod -aG bluetooth $USER,注销重新登录后就生效了 - 要是提示找不到native库,去
/usr/lib下看看有没有libbluetooth.so,没有的话可能是libbluetooth-dev版本不对,试试重装或者安装对应版本的库
内容的提问来源于stack exchange,提问作者Black Boy
相关产品推荐
相关产品推荐

