Articles of jni

Error al pasar assetManager de java a c ++ utilizando JNI

Me gustaría usar algunos archivos de activos de mi aplicación en código c ++ nativo, así que tengo un código de prueba como el siguiente: Java package com.example.andy.textureviewtest; import … public class MainActivity extends AppCompatActivity { private AssetManager assetManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView) findViewById(R.id.sample_text); tv.setText(stringFromJNI()); assetManager = […]

¿Es seguro lanzar jlong ​​a largo?

Estoy desarrollando un complemento nativo para Android con JNI en C ++. Quiero imprimir un valor jlong , que se define como un valor de 64 bits . ¿Es seguro convertirlo directamente en una larga, o hay algún problema específico de la plataforma que deba tener en cuenta? jlong foo = 2; // This results […]

JNI “desbordamiento de la tabla de referencia local” cuando se usa NewGlobalRef

Estoy desarrollando una aplicación que utiliza JNI, pero aparece un error de “desbordamiento de la tabla de referencia local” al usar referencias globales: art/runtime/indirect_reference_table.cc:115] JNI ERROR (app bug): local reference table overflow (max=512) art/runtime/indirect_reference_table.cc:115] local reference table dump: art/runtime/indirect_reference_table.cc:115] Last 10 entries (of 508): art/runtime/indirect_reference_table.cc:115] 507: 0x13f08b80 com.company.util.jni.JniCompanyHelper$HTTPStream art/runtime/indirect_reference_table.cc:115] 506: 0x13ef5520 com.company.util.jni.JniCompanyHelper$HTTPStream art/runtime/indirect_reference_table.cc:115] 505: 0x13eb4a80 […]

Llamada JNI convertir jstring a char *

Mi código cpp contiene una función jni que deseo convertir a const char *. Este es el código que estoy usando extern “C” { void Java_com_sek_test_JNITest_printSomething(JNIEnv * env, jclass cl, jstring str) { const char* mystring = env->GetStringUTFChars(env, str, 0); PingoScreen::notify(); } Me sale un error que no matching function for call to ‘_JNIEnv::GetStringUTFChars(JNIEnv*&, _jstring*&, […]

Error fatal en JRE

Estoy trabajando en una aplicación y decidí actualizar java a java7. Después de hacer esto y establecer los valores apropiados para env. variables $ PATH y $ JAVA_HOME, me sale el siguiente error: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f19addeaa34, pid=28052, tid=139748278572864 # […]

Alineación de la estructura JNI

Estoy llamando a una DLL comstackda con VisualStudio 2005 con la configuración “#pragma pack (1)”. Por lo tanto, la estructura aligment (SA) no tiene relleno para un acceso rápido a los datos [1]. Creo que la JVM está comstackda con un aligmento de estructura normal [2]. ¿Así que quiero saber cuales son mis opciones? La […]

Problema al escribir FaceRecognizer para Java con OpenCV 2.4.8

Me han dado un proyecto basado en el reconocimiento facial escrito en JavaCV para ser mejorado. La idea era volver a escribir el progtwig usando C ++ o escribir enlaces JNI para usar Java. Investigué un poco y, según el sitio web oficial OpenCV, a partir de la versión 2.4.4 tiene enlaces para Java y […]

Convierte float * a jfloatArray usando JNI

Obtengo un float * en mi función c ++ y necesito convertirlo en jfloatArray para volver a mi código Java. ¿Cómo puedo convertir float * a jfloatArray? Gracias

¿Es posible hacer un JNI de Java que llame a jdbc?

Soy nuevo en jni y estoy muy confundido si puedo usar jni para lograr lo que necesito que se haga. Quiero hacer una api java que usará jdbc para actualizar la base de datos, pero esta api en particular se llamará desde el progtwig C ++. Así que creo que probablemente debería escribir código jni […]

Cómo usar JNI para iniciar JVM en la aplicación C ++ del constructor

Así que necesito usar jni para llamar al método java. Comencé con este código: JNIEnv *env1; JavaVM** jvm1; JavaVMInitArgs vm_args1; JavaVMOption options1[1]; options1[0].optionString = “-Djava.class.path=D:\\Java Src\\TestStruct”; //Path to the java source code vm_args1.version = JNI_VERSION_1_6; //JDK version. This indicates version 1.6 vm_args1.nOptions = 1; vm_args1.options = options1; vm_args1.ignoreUnrecognized = 0; int reAt = JNI_CreateJavaVM(jvm1, (void**)&env1, […]