Articles of android ndk

¿Podemos usar el sistema IPC en el código NDK de Android?

Aquí quiero usar métodos de System IPC como /* SysV message queues */ /* General IPC definitions */ Aquí mi código NDK de Android está en lenguaje C y utilicé el mecanismo IPC de la cola de mensajes para la comunicación con otra aplicación C. Entonces, por favor, hágamelo saber, ¿hay alguna manera de lograr […]

Usa la biblioteca de C en Android sobre NDK

Lo que quiero hacer: He encontrado una biblioteca de C que calcula el tono de una transmisión de audio y quiero usarla en Android. Pensé que, en lugar de portarlo, también podría usarlo con la ayuda del NDK, ¿verdad? ¿Como funciona esto? Tengo que instalar el NDK, por supuesto, y luego? ¿Puedo llamar a las […]

¿Es seguro comstackr con -fsigned-char con Android NDK?

Para mantener la coherencia con otras plataformas, necesito usar caracteres signed char en algún código nativo en el que estoy trabajando. Pero por defecto en Android NDK tipo de caracteres unsigned está unsigned . He intentado usar explícitamente el tipo de signed char pero genera demasiadas advertencias que differ in signedness cuando se trata de […]

Error de Magic 7F45 al ejecutar el ejecutable NDK en Android

Creé un sencillo progtwig Hello World C, lo compilé usando ndk-build y lo transferí a través de adb. Esencialmente, seguí los pasos en http://d34th4ck3r.wordpress.com/2011/06/18/how-to-run-c-cpp-code-in-android/ excepto por el paso GNUmake (no parecía necesario como todavia tengo mi archivo binario). Sin embargo, cuando lo ejecuté, primero recibí el error “no puedo ejecutar: permiso denegado”. Después de usar […]

La eficiencia de la aceleración de múltiples subprocesos es bastante diferente en Android 4.4 y 5.0

Escribí un fragmento de código C para hacer un procesamiento de imágenes (cómputo intensivo) en Android (comstackdo por NDK y utilizado por jni.h). Para acelerar el procesamiento de la imagen, utilicé las funciones pthread_create y pthread_join en el código C para utilizar 4 subprocesos para procesar la imagen simultáneamente. La aceleración de múltiples subprocesos es […]

JNI – error de matriz primitve no clavado

Quiero implementar efecto invertido en el procesamiento de imágenes. Decodifico los canales de color en el lado de Java, paso una matriz 2D a C, invierto (valor 255) y luego devuelvo una matriz 2D procesada. Aquí está mi código C: #include #include #include #include JNIEXPORT jobjectArray JNICALL Java_com_example_invert_MainActivity_inv (JNIEnv *env, jobject obj, jobjectArray arr, jint […]

C, o código C ++ para usar la API LAME para convertir un M4A (audio MPEG-4) a MP3

Estoy usando el código LAME nativo para una parte de mi aplicación de Android. Este código debe tomar una cadena que apunta al archivo de entrada (M4A) y una cadena al archivo de salida (MP3). Encontré un código que parece, de lo que puedo reunir, hacer tal cosa. Sin embargo, cuando reproduzco los archivos MP3, […]

Cómo usar la función C en Android con NDK

Quiero usar la función escrita en C en una aplicación de Android. La función se toma de aquí . Aprendí algunos conceptos básicos de Android NDK, puedo administrar el uso de la función en mi fuente Java, pero la aplicación se congela cuando la llamo, por lo que tengo que esperar hasta que Android me […]

Libs nativas de Android desaparecen una vez que la aplicación está instalada

Después de cambiar a Android Studio, comencé a ver el temido java.lang.UnsatisfiedLinkError: dlopen failed: library ‘/data/app-lib/com.myapp.test-1/libmylib.so’ not found error. Cuando descomprimo el apk, puedo ver libmylib.so junto con todas las demás bibliotecas nativas (libmyotherlib.so y libtest.so) debajo de la carpeta lib / armeabi, por lo que el empaquetado no debería ser el problema … decidí […]

¿Cómo puedo incluir los archivos de inclusión apropiados para usar libdvm.so en mi biblioteca compartida?

Quiero usar la siguiente API que está en dalvik / vm / native / dalvik_system_DexFile.cpp static void Dalvik_dalvik_system_DexFile_defineClass(const u4* args, JValue* pResult) static void Dalvik_dalvik_system_DexFile_openDexFile_bytearray(const u4* args, JValue* pResult) Pero no sé cómo puedo incluir los archivos de inclusión apropiados para usar las dos API anteriores en libdvm.so. Intenté incluir encabezados completos en el proyecto […]