jnienv

    1熱度

    2回答

    我有一個帶有Unicode字符的Java字符串文本,需要將其傳輸到C字符串文本中,該文本可以使用JNIEnv.NewString加載。 不幸的是,上面的方法需要一個指向數組unsigned short(jchar)的指針。我曾嘗試使用類似以下的代碼: unsigned short str[] = {65, 66, 67}; jstring java_str = (*env)->NewString

    0熱度

    3回答

    我有一個加載.so文件並打印來自.so文件的結果的java文件。我的.so文件沒有源代碼。任何人都可以告訴如何在內存結構.so結果加載,並從這個Java類正在讀取.so生成的結果和打印出來?

    0熱度

    1回答

    我正在使用JVMTI接口的API爲JVM編寫自定義調試器,我需要獲取聲明方法的類名,使用error = (*jvmti)->GetMethodName(jvmti,frames[i].method,&methodName,NULL,NULL);,我試圖讓使用error = (*jvmti)->GetMethodDeclaringClass(jvmti,frames[i].method,&decla

    0熱度

    1回答

    我的JNI代碼從外部源接收到char* src,使用jstring jStr = env->NewStringUTF(src)將其轉換爲String,並將結果jStr傳遞到上層Java層。 一些輸入src值會導致以下運行時錯誤(調用內NewStringUTF): : A/art: art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLI

    1熱度

    1回答

    我想知道是否有辦法從jclass獲得jobject?我們可以從JNIEnv調用GetObjectClass(object)獲得jclass,但是我找不到從jclass獲取jobject的任何地方,反之亦然。在我的實現中,我使用NewGlobalRef()函數緩存jclass實例,但是在新線程中,我需要jobject查找MethodID。我無法獲得工作目標。我結束了緩存工作對象。

    1熱度

    1回答

    我檢查了有關此錯誤的相關問題,但找不到答案。 我有以下代碼。該錯誤與調用jLog方法,如果我把它拿出來的錯誤了,所以我不明白什麼是問題 - 只是我的第一個經驗JNI: static jclass util_class; static jmethodID log_from_jni; ... util_class = (*env)->FindClass(env, "package/Uti

    1熱度

    1回答

    我有一個問題,WeakGlobalRef指向垃圾收集對象,這個崩潰的應用程序,當我嘗試在這個ref上調用CallVoidMethod。爲了解決這個問題我做如下: jobject javaObject = pEnv->NewLocalRef(m_pJavaObject); if (javaObject) { pEnv->CallVoidMethod(javaObject, metho

    0熱度

    2回答

    1)image_api.h定義了以下方法 - int process_image(const char * svgData,void ** mapData); 2)現在我需要調用此方法,並傳遞正確的價值觀,以process_image是從image_api.so文件 加載 - 請告訴我在JNI C包裝代碼中創建無效**的情況下正確的做法? 3) JNIEXPORT jint JNICALL Jav

    1熱度

    1回答

    我的本地方法有一個帶有byte []返回值的方法,所以我使用「NewByteArray」來分配byte [],然後使用return返回jbyteArray。 我應該釋放jbyteArray嗎?以及如何釋放jbyteArray? 謝謝。我是一名Java初學者,我的英語很差。

    0熱度

    2回答

    我是jni編程的新手。我想通過一個浮點數組從Java到jni,動態分配足夠的內存以在jni側浮點數組,將一些值存儲在jfloatArray中,然後在java中訪問它。我不想返回jfloatArray,只需修改傳入的輸入浮點數組。我嘗試了下面的方法,但它並沒有修改我的java浮點數組。如何實現這一目標? Java Code: float[] pointList = null;