¿Puedo usar las bibliotecas nativas (instaladas en la stack de Android) en mi aplicación NDK?

de este articulo

http://marakana.com/forums/android/examples/49.html

He visto que la aplicación se comstack con la ayuda de NDK haciendo cosas siguientes

1> comstack todo el código c (dentro de la carpeta jni) y crea la biblioteca que permanece en la carpeta libs

2> dentro del paquete .apk también esa biblioteca permanece dentro de la carpeta lib

y dentro del archivo java puedo cargar esa biblioteca con el siguiente código

  static { System.loadLibrary("ndk_demo"); } 

Pregunta 1: entonces, ¿es posible que, en lugar de mantener esa biblioteca como parte de .apk, pueda instalarla en el sistema Android y mi aplicación se cargue desde el sistema?

Pregunta 2: de la misma manera, ¿puedo usar otras bibliotecas ya instaladas en Android como open GL , sqLite ?

La respuesta a ambas preguntas es Sí, puedes.

P1: Si quieres probarlo puedes seguirlo.

1) Comstackr el código fuente utilizando NDK.

2) Copie (presione adb) la biblioteca en / system / lib de su dispositivo Android. Ejecutar la aplicación.

Cuando se carga una biblioteca, se comprueba desde la carpeta lib del archivo apk o desde la carpeta / system / lib del sistema. Pero para copiar en / system / lib, debe volver a montar el sistema de archivos. Para esto tienes que tener permisos de root.

Q2:

Responder a Q1 responde a estas preguntas también. Si la biblioteca está presente en / system / lib, también puede llamar a las bibliotecas existentes. Pero hay un pequeño problema. No puede llamar a las funciones dentro de la biblioteca directamente debido a la convención de nombres que debe seguirse para la interfaz jni. Entonces, en última instancia, ” tienes que crear tu propia biblioteca usando la biblioteca existente “.

Los pasos serían así:

Tire de la biblioteca (adb pull)

Escriba su código nativo que llamará las rutinas de la biblioteca existente (Ej. OpenGL)

Compile su código vinculándolo con la biblioteca precomstackda (consulte el archivo de documentación del NDK. Está muy bien escrito sobre cómo hacerlo. Debe mencionarlo en el archivo Android.mk mientras comstack).

Finalmente obtendrá una biblioteca compartida que contiene internamente la biblioteca existente.

Hice lo mismo para una de las bibliotecas existentes, libsqlite. Si estás atrapado en algún lugar, házmelo saber. Gracias