jni专题提供jni的最新资讯内容,帮你更好的了解jni。
我正在尝试制作一个 Android应用程序,我需要在jni中访问加速度计. java代码: mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); jn
在Mac OS上调查这个JDK错误时,我遇到了系统调用跟踪输出,我不明白: Tomcat startup fails due to ‘java.net.SocketException Invalid argument’ on Mac OS X 简短版本:在Mac OS上,JDK使用select()而不是poll().因此,如果分配了超过1024个文件描述符,我们推断出NET_Timeout中的se
我对从 java传递给c的对象有点困惑?它们应该在本机jni方法中删除,还是在方法返回时进行垃圾收集.例如: 如果我在我的java文件中有一个本机声明public native printString(String msg);并且本机方法使用const char * message =(jni_env) – > GetStringUTFChars(msg,& iscopy);获取c风格的字符串数组
试图弄清楚为什么c函数调用返回一个int会导致整个应用程序崩溃而没有任何错误/警告. 这是工作代码: jint Java_org_ntorrent_DummyTorrentInfoProvider_next( JNIEnv * env, jobject obj, jint number) { jint test = rand(); _
在 Linux上使用JNA 4.0.0,我试图加载一个本机库(libmean.so),它位于lib子目录中(该库只是一个计算两个数字平均值的简单示例). 我运行以下代码(在Eclipse中),在运行配置中设置了-Djna.library.path = lib. import com.sun.jna.Library; import com.sun.jna.Native; public class
我想使用Valgrind 3.7.0来查找我的 Java本机代码中的内存泄漏.我正在使用jdk1.6.0._29. 为此,我必须设置–trace-children = yes标志.设置该标志,我不再可以在任何java应用程序上运行valgrind,甚至可以像以下命令: valgrind --trace-children=yes --smc-check=all java -version 将收到错误
我得到一个 java方法,得到一个字符串并返回bool 我从jni这样称呼: jmethodID function2ID = env->GetMethodID( activityClass, "MyFuncName", "(Ljava/lang/String;)B");
我在c中写了一段代码来计算C代码的一段时间,然后尝试将其回报给 Java代码.但是问题是定时器差动总是回到0.这里是本地C #include <stdio.h> #include <stdlib.h> #include <unistd.h> /* sleep() */ #include <time.h> #include <jni.h> jstring Java_com_nsf_ndkfoo_N
我正在开发一个从网络摄像头接收视频输入并向用户显示运动区域的项目.我在此项目中的“beta”尝试是使用 Java Media Framework来检索网络摄像头.通过一些实用功能,JMF方便地将网络摄像头框架作为BufferedImages返回,我建立了大量框架来处理.不过,我很快意识到,JMF不再受到Sun / Oracle的很好的支持,而且一些较高的网络摄像头分辨率(720p)不能通过JMF接
我有一个本地方法,对位图做一些工作.在方法内部,我通过一个方法调用来获取图像数据,该方法将数据写入到使用NewIntArray创建的jintArray参数中: jintArray pixels = env-> NewIntArray(width * height); 我不需要将这个数组返回给调用的Java代码 – 它只用于在这个方法中进行处理.我需要在像素上调用ReleaseIntArrayEle
我成功地将自己的 Java代码注入到运行的Oracle Forms应用程序中,使用DLL注入和一些jni欺骗. (Windows 7,32位,Oracle Forms 11,JRE Java 8) 我可以遍历组件树,并查询和设置一些基本Java对象中的值,例如来自class oracle.forms.ui.VTextField的值 当我试图模拟用户点击oracle.apps.fnd.ui.Butt
我正在用 Java编写程序,我想为C编写的库创建一个本机界面.但是我对如何为构造函数编写本机方法声明感到困惑. 说我有这个C类和构造函数: template <class _Tp,class _Val> class Arbitrator { public: Arbitrator(); } 我如何编写本机方法声明? 这是我到目前为止所做的 包hbot.proxy.bwsal.
长故事短:我有一个可执行的jar,它调用依赖于lib.dll的jni.dll.而且我得到了这么糟糕的UnsatisfiedLinkError. This的答案非常接近,但是从我的经验来看,它无法解决问题.即使在java.library.path中指定了dll所在的文件夹,它将无法正常工作.我也必须更改Windows PATH环境变量.实际上,Windows上的默认java.library.path
我有一些现有的C代码,使用ICMP原始套接字做Ping,我需要在 Java中使用这个代码,因为 Java不支持ICMP包.当我在JNI中包装代码并调用它时,C代码在执行时无法获取套接字: 套接字(AF_INET,SOCK_RAW,1); 我猜Java已经放弃了一些禁止Java进程使用原始套接字的特权.我必须找到一个解决方案. 我观察到以下情况: >如果我编写一个C程序,并从Java中使用运行时调用
我没有看到任何地方(或者也许我很简单,没有看到它),但有没有办法使用JNI返回c / c对象,并在 java中使用该对象? 例如(很简单): class simpleClass{ ... private: int intVar; public: int getIntVar(); void setIntVar(int someNum); ... } 在我的java代码中,我该如何去做: ... si
我在C/C++中开发应用程序.我更喜欢这两种语言,并喜欢成为C开发人员.我想知道如何创建一个包含我所有C代码的 Java程序. 我的意思是,我想把我所有的C代码(已经开发的)包含在Java类中.但无知如何做到这一点. 请发布您的回应或方法/步骤集成Java内部的Java. (使用JNI的方式,但我无法弄清楚在www上如何使用它) FYI,我使用Eclipse IDE开发. 我应该在项目工作区中包含
其实我调用一个c函数: JNIEXPORT void JNICALL Java_test_main_JniFunctions_testObject (JNIEnv *env, jobject obj, jobjectArray objArray){….} 我想做的是获取原始对象的值.考虑到这个对象的java代码声明: jniFct.testObject(new Object[][]
通常, Java编译器确认抛出的所有检查的异常都在throw规范中.当本机函数抛出不在函数throw规范列表中的java检查异常,或者是在运行时简单忽略的throw规范列表时是否会发生什么特别的事情? C void function(JNIEnv * env, jclass jc) { jclass newExcCls = env->FindClass("java/lang/NullPoi
我想从 Java调用一个C方法.我读了关于JNI,但是我没有得到如何获取所有的库文件,我应该保留它,以便从命令行运行该程序. 有没有办法从Eclipse本身调用C方法,因为我正在使用它来运行Java类. 虽然我过去使用JNI-C桥接(只有一点) – 可能会有点丑陋.您可能需要考虑使用 SWIG来帮助您生成所有凌乱的锅炉板代码.
我使用JNI来传递C和 Java之间的数据.我需要传递一个“长”类型,并且使用以下类似的东西: long myLongVal = 100; jlong val = (jlong)myLongVal; CallStaticVoidMethod(myClass, "(J)V", (jvalue*)val); 然而在Java中,当检索到’long’参数时,它被检索为一个非常大的负数.我究竟做错了什么