当我运行这段代码时:
package jni_2;
public class Min2 {
static {
System.loadLibrary("kernel32");
}
public native long FlushProcessWriteBuffers();
public static void main(String[] args) {
Min2 c = new Min2();
c.FlushProcessWriteBuffers();
}
}
我得到了这个例外:
Ex
我有以下几个类:
NativeClass.java
public class NativeClass {
public static final int CONSTANT_VALUE = getValue();
public static native int getValue();
}
TestClass.java
public class TestClass {
public static void main(String[] args) {
System.loadLibrary("native");
Syst
我想建立一个离线语音识别应用程序为android.For,我试图建立安卓NDK.But时,我给ndk-build命令,我得到了以下错误。我不知道这是什么意思,因为我是非常新的Linux environment..Anyone,请帮助我。
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
/home/cenuser/android/android-n
我以前使用过一个JNI库,由于某些原因(我不知道有任何修改),我不能再使用它了,因为我得到了以下错误:
线程"main“中的异常: de.ifi.lmu.sommerd.ftsserver.jni.IndexJNI.loadIndex(Ljava/lang/String;)V at de.ifi.lmu.sommerd.ftsserver.jni.IndexJNI.loadIndex(Native方法)
下面是我的测试设置:
package de.ifi.lmu.sommerd.ftsserver.jni;
public class IndexJNI {
stati
在这里,我想停止我的线程或者关闭在Java层上创建的线程,这个线程正在调用JNI函数。有时,根据我的应用程序需求,我必须在某些条件下停止JNI函数的执行,如果它正在执行,否则就不会。
new Thread(new Runnable() {
@Override
public void run() {
// My jni function call, It calls my JNI layer C function.
}
}
现在,当这个线程执行开始并且它在JNI级别上工作时,我对此并不担心,但是在某些条件下,从其他类或方法来看,我想停止这
我对JNI (或本地语言编程)很陌生,希望在这方面提供任何帮助。这是我想要做的,以及执行的时间。
我试图找到大小为100,000,000倍的数组元素的和,并试图使JNI更快地得到它。
对于Java (纯Java),C(纯C)需要154 ms,JNI (Java调用本地C)需要0 ms,需要800 ms
我知道JNI有它自己的性能开销,但是我需要花费时间只执行JNIEXPORT jdouble JNICALL Java_Sample1_sum 1 ms (即在控件进入之后,在它离开这个和方法之前),所以我的问题是JNI太慢以至于调用JNI本身需要大约799 ms,即下面的块接受800 ms
st
我想从C++调用包含Android SDK类的Java代码。我可以为desktop console application从C++调用纯Java代码。但是我不能从C++ for Android中调用包含Android SDK类的Java代码(我得到这个错误:JNI_CreateJavaVM was not declared in this scope.)。我想要一个安卓Java Native Interface的例子。你有关于Android的JNI的例子吗?此外,我发现JNI示例和代码只适用于桌面,而不适用于Android。我还发现了不同的jni.h和libjvm.so文件位置:
jni.h
我是NDK构建系统的新手,虽然我知道GNU做得很好。
我试图用一个库和一个测试存根来定义我的项目的构建系统。
我有以下的设置,哪种工作,但我不满意它。
--------------jni/Android.mk--------------
# A simple test for the minimal standard c library
LOCAL_PATH := $(call my-dir)
MY_LOCAL_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/library/Android.mk
-----
我经常看到很多
03-18 16:40:18.729: W/dalvikvm(22567): JNI: pin count on array 0x413e4488 ([C) is now 11
03-18 16:40:18.729: W/dalvikvm(22567): JNI: pin count on array 0x413e4488 ([C) is now 12
03-18 16:40:18.729: W/dalvikvm(22567): JNI: pin count on array 0x413e4488 ([C) is now 13
03-18 16:40:18.729: W/dal
我对JNI很陌生。现在我有一个问题,我在C中有了我自己的简单库,我为我的c库创建了.so和.a库。
通过以下命令生成libmymath.so
gcc -shared -fPIC -o libmymath.so addnsub.o mulndiv.o
JNI.java
public class JNIPart
{
public native int addJNI(int a, int b);
public static void main(String args[])
{
JNIPart ja = new JNIPart();
int an
请帮助从C++调用(非静态),它是简单的sdl2安卓项目。我试过很多次了,但做不到。CallVoidMethod总是崩溃。
C++代码:
JNIEnv* Android_JNI_GetEnv(void) {
JNIEnv *env;
int status = mJavaVM->AttachCurrentThread(&env, NULL);
if(status < 0) {
LOGE("failed to attach current thread");
return 0;
}
ret