Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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). 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.