Android NDK, utilizan las funciones de la biblioteca compilada .so en otro proyecto androide NDK
mi problema es que, no sé cómo llamar a las funciones de la biblioteca .so. He compilado con éxito la biblioteca NDK spatialite-android y no tengo problemas para usarla en la aplicación Java android. Pero no tengo ni idea de cómo usarlo exactamente en otro proyecto de NDK. Lo he añadido en el archivo Android.mk:
APP_ABI := armeabi armeabi-v7a APP_PLATFORM := android-8 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := UsingSpatialite LOCAL_SRC_FILES := UsingSpatialite.c LOCAL_LDLIBS := -llog -lGLESv1_CM include $(BUILD_SHARED_LIBRARY) LOCAL_PATH := /home/spatialite/jni include $(CLEAR_VARS) LOCAL_MODULE := libjsqlite LOCAL_SRC_FILES := libjsqlite/libjsqlite.so include $(PREBUILT_SHARED_LIBRARY)
Y la biblioteca libjsqlite.so (android-spatialite) se agrega con éxito en: libs / armeabi / libjsqlite.so Desde este punto, no sé cómo usar esa biblioteca. ¿Cómo llamar a cualquier función de esa biblioteca?
- Creación / búsqueda de bibliotecas compartidas desde el código fuente de Android
- ¿Cómo puedo copiar mis bibliotecas .so en el dispositivo Android?
- Cómo incluir el archivo versionado * .so en apk usando Gradle?
- Java.lang.UnsatisfiedLinkError: No se pudo cargar eposprint: findLibrary returned null
- Excepción actualizando juego a cocos2d-x v2.0
- Android NDK: Uso de la biblioteca libtool
- Construcción de biblioteca compartida para android
- Uso de bibliotecas pre-construidas y jni en Android Studio
- Ant construir proyecto Android con dependencia lib
- Cómo utilizar bibliotecas extra * .so en Android Studio y NDK
- Cómo incluir bibliotecas compartidas precompiladas en apk con eclipse
- Android NDK aplicación se estrelló en ejecutar en funciones que ni siquiera llamado
- ¿Cómo forzar a Android Studio a construir con la biblioteca actualizada NDK, sin tener que limpiar y construir todo el proyecto?
De lo que entiendo de la pregunta, usted ha cumplido un archivo así y funciona para deja para decir el proyecto A y su funcionamiento. Ahora, usted quiere utilizarlo en el Proyecto B. No se puede utilizar directamente la biblioteca de compilación en el proyecto B. El problema es su función de firmas dentro de su código. Para diferentes nombres de paquetes cambiará la firma de función correspondiente.
JNIEXPORT jint JNICALL Java_com_your_packageA_class_method(JNIEnv *d, jobject e, jstring f) { //some action }
Necesita un tarro que contiene clases para hacer llamadas a funciones nativas con su archivo compilado para que sea accesible al Proyecto B.
Así es como funcionará Proyecto B hará una llamada a jar que hará llamada a compilado para archivo y devolver el resultado a A.
- Android: ViewFlipper que restablece mi marquesina TextView
- Cómo cambiar el estilo de menú en dispositivos Android 4.x con botón de menú?