技术问答

问题描述 我有一个使用多个线程的Android应用程序(例如UI线程网络线程).现在,我希望两个线程都调用本机函数.另一些本机功能将调用Java功能. 为此,需要A JNIEnv*,这因线程而异.但是我认为调用GetEnv()效率很低. 是否有一种方法可以缓存每个线程的JNIEnv* s,然后确定我们在哪个线程(在本机函数中)使用正确的缓存 推荐答案 您不能缓存Jnienv,应该在缓存的JVM*上使用artachcurrentThr

2023-01-21  269
技术问答

问题描述 我是JNI的新手,刚开始学习. 我使用JNI在Java中成功执行了graphical C++ program.现在,我想尝试一些更高级的东西,即显示Jframe或Jpanel中的C ++图形程序. 有可能以及如何做?理想情况下,这将是 this 感谢您的回答,对不起,如果我的问题含糊不清. 编辑:这与我的问题相当类似,在Java Gui中显示C ++窗口 推荐答案 理论上应该是可能的,尽管不是Jframe/jpa

2023-01-21  293
技术问答

问题描述 java.lang.unsatisfiedlinkerror使用JNI时. 我的测试环境: ubuntu 12.04/64位 JDK 1.7 GCC(Ubuntu/Linaro 4.6.3-1ubuntu5) 这是我的Java来源: public class HelloJNI { static { //System.loadLibrary("libHelloJNI");

2023-01-21  266
技术问答

问题描述 首先,C ++不是我的语言(我是Java程序员). 我已经看到了Microsoft SAPI 5.1的示例,我需要一种在计算机中打印所有可用声音的方法.我已经看过 object object token SAPI,我有点困惑COMPTR如何使用.谁能帮我这个.此外,我如何选择特定的语音而不是使用默认语音. 基于示例,您可以通过调用此代码来获得默认语音: ISpVoice * pVoice = NULL; if (FAI

2023-01-21  291
技术问答

问题描述 我正在尝试从C ++调用Java功能. 到目前为止,这是我的代码: #include <jni.h> typedef struct JavaVMCreationResult { JavaVM* jvm; JNIEnv* env; } JVMCreationResult; JVMCreationResult* CreateJavaVM() { JavaVM* jvm; JNIE

2023-01-21  252
技术问答

问题描述 我目前正面临OpenSSL的构建问题. i首先构建libssl.so和libcrypto.so与ndk-build共享库. 作为第二步,我通过执行以下操作将LIB与我的Android项目集成在一起,如此主题: 1)创建一个JNI文件夹 2)在此新文件夹中,我创建了一个包含文件夹,并复制包含标头文件的OpenSSL文件夹(来自OpenSSL软件包) 3)创建一个预编译的文件夹,我在其中复制了libssl.so和lib

2023-01-21  351
技术问答

问题描述 最近,我正在尝试在JNI代码中实现我的算法(使用C ++).我做到了并生成共享库. 这是我的JNI课程. public class VideoFeature{ // JNI Code Begin public native static float Match(byte[] testFileBytes, byte[] tempFileBytes); static {

2023-01-21  242
技术问答

问题描述 我正在尝试部署Hadoop 2.5.0的独立版本.但是数据台无法启动.日志打印: 2014-10-20 13:42:13,288 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.SharedF

2023-01-21  259
技术问答

问题描述 我是NDK开发中的新手,当我试图从Cygwin终端调用NDK构建工具时,我目前正在面临问题: Android NDK: WARNING: There are no modules to build in this project! 我在Windows(X64)下,使用R10D(64位)NDK. 我尝试从项目的根部调用它,该项目包含一个带有简单.c文件和Android.mk的JNI文件夹: LOCAL_PATH := $(c

2023-01-21  264
技术问答

问题描述 我正在尝试做出概念证明,其中在CPP程序中我获取Windows用户名,然后使用Java本机接口(JNI)从Java代码调用此程序.现在,到目前为止,我拥有的示例JNI Hello World程序能够编译和打印Hello World或我设置的参数.现在,在单独的CPP片段中,我可以获取当前的用户名,并且它也可以使用.看起来如下: #include <iostream> #include <windows.h

2023-01-21  280

zblog模板

牛资源