首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本机库bluecove_arm不可用

本机库bluecove_arm不可用
EN

Stack Overflow用户
提问于 2014-04-18 03:43:35
回答 2查看 4.5K关注 0票数 6

我正在尝试在运行Ubuntu的BeagleBone黑色电脑上编译/运行一个使用BlueCove库的程序。然而,我在运行时一直收到这个错误:

代码语言:javascript
复制
Native Library bluecove_arm not available
javax.bluetooth.BluetoothStateException: BlueCove library bluecove not available
at com.intel.bluetooth.BlueCoveImpl.loadNativeLibraries(BlueCoveImpl.java:381)
at com.intel.bluetooth.BlueCoveImpl.detectStack(BlueCoveImpl.java:429)
at com.intel.bluetooth.BlueCoveImpl.access$500(BlueCoveImpl.java:65)
at com.intel.bluetooth.BlueCoveImpl$1.run(BlueCoveImpl.java:1020)
at java.security.AccessController.doPrivileged(Native Method)
at com.intel.bluetooth.BlueCoveImpl.detectStackPrivileged(BlueCoveImpl.java:1018)
at com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1011)
at javax.bluetooth.LocalDevice.getLocalDeviceInstance(LocalDevice.java:75)
at javax.bluetooth.LocalDevice.getLocalDevice(LocalDevice.java:95)
at edit.rit.ce.whud.DataServer.bluetoothHandler(DataServer.java:16)
at edit.rit.ce.whud.GUI.main(GUI.java:153)

我知道这不是代码的问题,因为我可以在运行x64 (基于Ubuntu)的Mint bit Linux计算机上使用Ubuntu库运行代码。我已经在网上搜索了几个解决方案,但没有找到一个可以解决我的问题。我已经使用此方法重新编译了用于ARM的bluecove-gpl-2.1.0库

http://www.raspberrypi.org/forums/viewtopic.php?f=81&t=58758

并尝试通过终端和NetBeans集成开发环境编译/运行代码。

我还需要做什么其他的步骤才能让它正常工作吗?为什么在我为ARM重新编译了Bluecove库之后,它仍然说Bluecove库不可用?

EN

回答 2

Stack Overflow用户

发布于 2014-10-30 14:38:38

这是对任何遇到这个问题的人的未来参考:

在raspberry pi论坛上查看MyRevel提供的the answer。它就像一个护身符!:)

为了传播一个易于理解的有效解决方案,并且因为这个问题是google中出现的第一个结果,我重新发布了上面提到的答案中的步骤(我做了一些细微的修改,但效果是一样的):

http://code.google.com/p/bluecove/downloads/listhttp://sourceforge.net/projects/bluecove/files/BlueCove/2.1.0/下载bluecove-2.1.0.jarbluecove-gpl-2.1.0-sources.tar.gz

在RPi上,使用终端或SSH:

创建一个执行编译并解压源文件的位置:

代码语言:javascript
复制
`mkdir -p ~/temp/bluecove/target/`
`cd ~/temp`
`tar xf bluecove-gpl-2.1.0-sources.tar.gz`
`mv ~/Downloads/bluecove-2.1.0.jar ~/temp/bluecove/target/bluecove-2.1.0.jar`

现在文件夹temp包括两个文件夹: bluecove-gpl-2.1.0和bluecove。

修改build.xml:

代码语言:javascript
复制
nano ~/temp/bluecove-gpl-2.1.0/build.xml

Delete text '-SNAPSHOT' on line 12 of build.xml:
from: <property name="product_version" value="2.1.0-SNAPSHOT"/>
to:   <property name="product_version" value="2.1.0"/>

Save file: `Ctrl+X` then `Y` and `Enter`.

安装蓝牙软件包和编译所需的软件包:

代码语言:javascript
复制
sudo apt-get update && apt-get upgrade && apt-get autoremove
sudo apt-get install bluetooth bluez-utils blueman
sudo apt-get install libbluetooth-dev   # BlueZ development package needed for compilation later
sudo apt-get install ant

连接蓝牙加密狗并测试蓝牙是否正常:

代码语言:javascript
复制
/etc/init.d/bluetooth status    # check to see whether the bluetooth is live
hcitool scan                    # show any devices in range of the dongle
sudo service bluetooth start    # start the bluetooth service if required

开始编译:

代码语言:javascript
复制
cd ~/temp/bluecove-gpl-2.1.0
ant all

成功编译后,您可以在以下位置找到所需的gpl jar:

代码语言:javascript
复制
~/temp/bluecove-gpl-2.1.0/target/bluecove-gpl-2.1.0.jar

终于...

将生成的文件bluecove-gpl-2.1.0.jar和下载的文件bluecove-2.1.0.jar一起移动到java开发程序的java构建路径库目录中。

使用bluecove库运行java程序可以这样做:

代码语言:javascript
复制
java  -cp  /path/to/MyJavaProgram.jar:/path/to/bluecove_libs/  myjavaprogram.MyJavaProgram

-cp开关允许我们指定要包含的文件和目录的列表。每个目录和文件都用冒号(:)分隔。

在本例中,我们希望包含MyJavaProgram.jar,以及bluecove_libs目录中的所有文件。

最后一个参数告诉java应该从哪个包和类main()执行。

请注意,/path/to/bluecove_libs/将包含以下文件:

我们编译的文件和我们从

  • bluecove-gpl-2.1.0.jar

下载的文件

票数 4
EN

Stack Overflow用户

发布于 2017-01-06 11:59:24

关于“我还需要做什么其他的工作吗?为什么在我为ARM重新编译了Bluecove库之后,它仍然说Bluecove库不可用?”

当我尝试在Ubuntu下编译时,我发现了同样的问题。究其原因,是在gcc编译器里面。它对于不同的版本有不同的默认参数。

我必须在bluecove-gpl-2.1.1-SNAPSHOT.jar的build.xml中进行以下更改

1)

=>

2)

=>

3)

=>

http://privateblog.by/raspberry-pi-kak-rabotat-s-bluetooth-na-java/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23142071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档