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 = […]
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 […]
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 […]
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*&, […]
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 # […]
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 […]
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 […]
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
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 […]
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, […]