Estoy tratando de crear una aplicación para Android que haga uso de la instalación NativeActivity
del NDK. estoy teniendo la siguiente estructura:Android - escribir/guardar archivos desde código nativo solo
- un montón de bibliotecas compartidas nativas instaladas en
/system/vendor/<company>
; Estoy trabajando con una imagen Android hecha a la medida por lo que no hay ningún problema con las bibliotecas allí con permisos adecuados y todo - un par de aplicaciones que utilizan la
NativeActivity
que dependen a su vez de las bibliotecas mencionados anteriormente
Las bibliotecas instaladas en/system/vendor y my applications usan un par de archivos de configuración . No hay problema para leerlos con la norma C API fopen/fclose
. Pero esas bibliotecas y mi aplicación también necesitan almacenar algunos archivos como resultado de su operación, como configuración, algunos parámetros de tiempo de ejecución, datos de calibración , archivos de registro, etc. Con el almacenamiento de los archivos hay un pequeño problema ya que No puedo escribir en /system/vendor/...
(ya que el sistema de archivos en "/ system/..." está montado como de solo lectura y no quiero hackearlo).
Entonces, ¿cuál sería la mejor manera de crear y almacenar esos archivos y dónde estaría el mejor área de almacenamiento "conforme con Android" ?
He estado leyendo un par de temas en el grupo de Google android-ndk y aquí en SO que mencionan the internal application private storage o the external SD card, pero como no tengo una experiencia extendida con Android no estoy seguro de cuál sería el enfoque apropiado. Si el enfoque implica alguna API de Android específica, un pequeño ejemplo de código en C++ sería muy útil; He visto un par de ejemplos que involucran a Java y JNI (e.g. in this SO question) pero me gustaría mantenerme alejado de eso en este momento. También parece que hay un problema con el uso de C++ el par de la actividad nativa (a bug that makes them be always NULL).