当前位置: 首页 > 知识库问答 >
问题:

如何在Raspberry pi中用JNI GPIO本机库编译和运行Java程序

何楷
2023-03-14

我想通知您,其中一个雇主已经创建了一个基于java的程序,通过I2C通信与Raspberry PI。

他在C++中创建了一些端口方法(open,write,close),并使用JNI库与基于java的程序建立了一个桥,因此,在本例中,我们可以使用C++原生库(JNI)桥通过java与嵌入式卡进行通信。

在本例中,只要禁用C++JN️library命令,我的java(包括javafx)程序就可以在raspberry pi上运行良好。

当我在java程序中启用这些与C++JNI相关的命令时,我无法设置将这些C++JNI代码和我的java程序一起运行。

Netbeans在一起构建得很好,但当我在Raspberry或PC上运行这些代码时,它会给我一个错误

它看起来像这样;

/usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre/bin/java
-dfile.encoding=utf-8-djava.ext.dirs=/opt/armv6hf-sdk/rt/lib/ext
-djava.awt.headless=true
-jar/home/root/netbeansprojects//putto/dist/putto.jar

共有1个答案

松刚豪
2023-03-14

您可以使用这个库http://pi4j.com,它支持I2C通信。

 类似资料:
  • 问题内容: 我想使用另一个Java程序打开Java GUI。 它已成功编译,但无法运行。它说“无法加载主类”。这是我的代码: HelloWorld类: 问题答案: 您的代码可能失败的地方有很多,例如,由于某种原因它可能无法编译;可能不在操作系统的搜索路径中;该命令可能会失败,因为参数看起来不正确。 我相信您的命令应该看起来更像或者应该在目录的上下文中执行… 您确实需要尽一切努力来诊断潜在的问题,例

  • 问题内容: 我正在编译一个简单的程序 我在命令提示符下输入了Java Test.java,但没有成功 我没有使用任何IDE 我应该在哪里将程序文件放在计算机上 谢谢 问题答案: 您不能直接运行Java源文件。您需要先使用进行编译: 然后,您将获得一个可以运行的.class文件:

  • 问题内容: 如何在Mac上用Java编译和运行程序? 我是新来的。 我还下载了一个在此向我建议的程序,称为wrangler,如果与情况有关。 问题答案: 在Mac OSX或任何主要操作系统上编译和运行Java应用程序非常容易。Apple随OSX一起提供了一个功能齐全的Java运行时和开发环境,因此您要做的就是编写Java程序并使用内置工具来编译和运行它。 编写您的第一个程序 第一步是编写一个简单的

  • 问题内容: 我有一个Main.java和Test.java类,它们要编译并在Test.java代码中运行Main.java。这是我的代码 我只在Main.java中打印“ ok”,但是此代码不打印任何内容。问题是什么 ? 问题答案: 我修改了代码以包括一些检查: 这是Main.java: 当一切都很好时,它就可以工作: 现在,例如,如果在Main.java中出现一些错误: 它仍然显示“ ok”,因

  • 主要内容:C++源文件的后缀,g++ 命令C++ 和C语言类似,也要经过编译和链接后才能运行。在《 C语言编译器》专题中我们讲到了 VS、Dev C++、VC 6.0、Code::Blocks、C-Free、 GCC、Xcode 等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C++ 程序,步骤是一样的,这里不再赘述,读者需要留意的是 C++ 源文件的后缀,以及 GCC 中的 命令。 下图是 C/C++ 代码生成可执行文

  • 问题内容: 我在文件MyClass.java文件中有一个名为MyClass的类(下面提到的代码) 我在上课 但是我正在尝试使用 要么 我遇到错误 但是,如果我省略了软件包名称,则可以运行该程序。我要去哪里错了? 问题答案: 确保您位于包文件夹(已编译的类文件所在的文件夹)的父目录中,并执行以下命令: 下面是一个示例文件结构: 在上面的示例结构中,您将必须从“ bin”目录中执行命令。 另外,将类定