Lectura de archivos de recursos de mi propio APK en Android Native Environment

Estoy portando a Android. Mi proyecto existente tiene una tonelada de archivos de recursos que estoy portando en mi proyecto de Android. Los tengo todos en / res / raw /, y me gustaría acceder a esos recursos en mi biblioteca nativa con funciones como fopen () y tal. ¿Se puede hacer esto, o tengo que ir a través de JNI para esto también? Realmente prefiero no hacerlo, por facilidad de portar y posibles razones de velocidad y memoria.

2 Solutions collect form web for “Lectura de archivos de recursos de mi propio APK en Android Native Environment”

Si impide que sus activos se compriman a medida que se agregan a su APK, entonces puede utilizar openRawResourceFd () para obtener un descriptor de archivo, desplazamiento y tamaño y pasarlos a su código nativo en el que acaba de hacer un fopen y fseek. Por otra parte, si dejas que el sistema de compilación comprima los archivos a los que quieres acceder, necesitarás usar algo como libzip para leerlos desde el APK.

Echa un vistazo a obb.h en la ndk.

De docs / STABLE-APIS.html en el Android NDK:

<android/obb.h> Direct (read-only) access to assets embedded in your .apk. or the Opaque Binary Blob (OBB) files, a new feature of Android XX that allows one to distribute large amount of application data outside of the .apk (useful for game assets, for example). 
  • Compartir archivos temporales entre aplicaciones sin tarjeta SD
  • Android Rotar imagen antes de guardar
  • Eliminar archivo de base de datos de la carpeta de activos
  • ¿Es la lectura / escritura preferencias una operación costosa?
  • No se puede cargar el archivo TTF directamente desde un ZIP usando libzip y FreeType
  • Android openFileOutput - no hay permiso para crear almacenamiento
  • Error al crear un directorio en / sdcard
  • El archivo no se sube al servidor
  • Lectura rápida de enteros pequeños endian de archivo
  • ¿Cuál es la mejor manera de crear archivos temporales en Android?
  • ¿Cómo puedo abrir archivos doc y ppt sin ninguna aplicación instalada en el dispositivo en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.