java-native-interface相关内容

如何将 .so 文件打包到我的 .aar 存档中?

我想知道是否可以将我的原生 .so 文件打包到我的 .aar 文件中?如果是这样,.so 文件会去哪里,有没有我可以阅读的参考资料? 解决方案 如果手动放的话,应该放在下面 jni//libexample.so 其中平台是目标 CPU 平台,例如“armeabi"、“x86"等.通常,您将在那里拥有多个平台的 so 文件.如果你使用 Gradle 从源代码构建,你可以简单地将你的原生源 ..
发布时间:2022-01-25 21:26:35 移动开发

使用 JNA (JAVA) 的 GetAsyncKeyState 和 VirtualKeys/特殊字符

我正在开发一个可以在全屏游戏中使用的双向私人聊天. 这是让用户在屏幕顶部的半透明文本框中输入内容所必需的,即使它没有焦点. 使用以下代码,我可以检测到所有物理键,但使用虚拟键很难. SHIFT 被检测到. 2 被检测到. 但是 Shift + 2 被检测为两个单独的键(即使 [SHIFT+2] 在我的键盘上给出了 @ ).IE:程序输出 SHIFT 和 2,但不输出它 ..
发布时间:2022-01-25 21:25:16 Java开发

让 Java 和 TWAIN 很好地协同工作

我正在构建一个应用程序以直接从 TWAIN 扫描仪扫描到 Java 小程序.我已经知道 Morena 和 JTwain,但它们要花钱.我需要免费的.我可以使用 JNI 重新发明轮子,但似乎有人可能已经将其作为 FOSS 工具完成了. 有没有人熟悉可以让 Java 小程序直接从 TWAIN 扫描仪读取的免费工具? 解决方案 从 C/C++ 以外的任何地方调用 TWAIN API 将是一 ..
发布时间:2022-01-25 21:25:07 Java开发

通过 JNI 传递、返回和转换为列表的向量列表

我需要从 Java 传递过来 列表列出>积分; 将 jni 转换为 C++ 并转换为 std::vector 处理这个向量并返回 列表列出> 如何正确传递和返回列表? 如何在对象向量的向量中和向后转换对象列表列表? 解决方案 我用标准工具解决了这个问题. 在 Java 类中创建为对象 (O) 容器 (C) 将对象数组 (O) 从 Java 代码传递 ..
发布时间:2022-01-25 21:23:42 Java开发

如何在Windows(ffmpeg等)中使用Java快速截取桌面截图?

我想使用 java 使用 FFMPEG 或其他解决方案截取我的机器的屏幕截图.我知道 linux 可以在没有 JNI 的情况下使用 ffmpeg,但是在 Windows 中运行它不起作用并且可能需要(JNI?)是否有一些简单的 Java 类的示例(以及其他任何必要的)来捕获可在 Windows 环境中运行的屏幕截图?FFMPEG 有什么替代品吗?我想以比 Java Robot API 更快的速度截 ..
发布时间:2022-01-25 21:23:26 Java开发

如何在 intelliJ Idea 中设置 java.library.path

谁能帮我解决这个错误: 本地代码库加载失败.java.lang.UnsatisfiedLinkError:java.library.path 中没有 ts-jni 我是第一次使用 IDEA IDE,并且一直使用 Resin_4.0.37 作为服务器来测试我的工作.一旦我在调试模式下启动我的 lcoal 服务器,它会停留大约 1-2 分钟,然后突然下降并通过给我上述错误而断开连接. 我已经 ..
发布时间:2022-01-25 21:22:31 Java开发

检测 Android JNI 代码中的本机内存泄漏

如何检测 Android JNI 代码中的内存泄漏?我正在使用 Froyo 解决方案 2017 年更新: valgrind 可用于 Android .Android N,对于查找内存泄漏非常有用.您可能需要 _exit() 应用程序来触发转储. 下面描述的 DDMS 功能目前在 简要提及官方文档. 有一个实验性的、不受支持的功能,您可以利用它. 在您的 DDMS 配置文件 ..
发布时间:2022-01-25 21:22:18 移动开发

如何将系统服务添加到 Android 框架

我想添加我自己在 Android“system_server"中运行的框架代码(处理所有系统级服务).我的服务加载了一个 JNI 库,该库与我添加到内核的驱动程序对话.该服务旨在允许应用程序向其注册侦听器以从驱动程序获取更新.我发现了一篇不错的博文(http://www.androidenea.com/2009/12/adding-system-server-to-android.html),它解 ..
发布时间:2022-01-25 21:21:31 移动开发

如何将 JNI(C/C++ 原生代码)添加到现有的 Android Studio 项目

如标题所说——如何在不破坏当前项目的情况下,将原生代码添加到现有的 Android Studio 项目中,包括 gradle 和 proguard 设置? 解决方案 从您现有的项目中执行以下步骤: 1.修改 build.gradle (Module app) 看起来像这样(很多变化!): 应用插件:'com.android.model.application'模型 {androi ..
发布时间:2022-01-25 21:20:58 移动开发

在 Java 中加载 DLL - Eclipse - JNI

我正在尝试使用以下代码在 java 中加载 dllSystem.loadLibrary("mydll"); 项目位于 D:\development\project\ 中,我已将 dll 放在 D: 中.然后我在eclipse配置中给出了以下VM参数-Djava.library.path=D:/ 但是当我运行时,我得到 UnsatisifiedLinkerError.谷歌搜索了一下后,我 ..
发布时间:2022-01-25 21:14:48 Java开发

检查是否已加载 dll 库?(爪哇)

在我正在编写的 Java 程序中,我对 dll 进行 jni 调用并在启动时加载库,如下所示 静态{System.loadLibrary("LdapAuthenticator2");} 然后我实现了另一个加载同一个库的类,并收到一个错误说该库已加载,有什么方法可以检查该库是否已经在运行? 谢谢, -皮特 解决方案 查看我对这个问题的回答 如何获取已加载的 JNI 库列表? ..
发布时间:2022-01-25 21:14:23 Java开发

Linux Java Swing 应用程序的 Kiosk 模式

如何在 [Ubuntu] Linux 机器上禁用操作系统级别的键盘快捷键(例如 Alt-Tab、Ctrl-Alt-Left/Right 等)?我正在开发一个全屏 Java Swing 应用程序,并且不希望用户能够任意切换任务离开程序.切换“始终在顶部"标志是不够的;不得允许用户切换工作区、迁移焦点或任何其他此类事情.机器必须在应用程序执行前后正常运行.Google 表示这将需要 JNI 或 JNA ..
发布时间:2022-01-25 21:13:49 Java开发

在 C++/JNI 中将向量转换为作业?

我正在使用 Java 原生函数 - public native ArrayListparseXML(); 在 C++ 中我的原生函数 - 向量结果列表;JNIEXPORT 作业 JNICALL Java_Sample1_parseXML(JNIEnv *env, jobject obj){//逻辑返回结果列表;//这里出现错误} 我的问题是如何将resultList(向量类型)转换为job ..
发布时间:2022-01-25 21:12:10 Java开发