Android,从本机/ NDK共享库访问资源文件

时间:2016-09-29 03:04:32

标签: android c++ c android-ndk android-source

我正在为较旧的Android API级别创建本机共享库。我可以从客户端代码调用库中的函数。

但我需要在共享库中使用一些图像文件。参考文献1&& 3提到了一种使用java代码访问资源文件的方法。我的问题是:有没有办法允许我使用(类似fopen(res_path))c / c ++函数来打开资源文件?

库源结构是:

.
├── AndroidManifest.xml
├── Android.mk
├── Application.mk
├── res
│   └── drawable
│       ├── 0.jpg
│       ├── 1.jpg
│       ├── ...
│       └── 9.jpg
├── MyApp.cpp
└── MyApp.h

提前致谢

环境:

ndk ver:ndk-r12b
编译器:gcc c / c ++ 4.9.x
AOSP:5.1.1_r30
API级别:22

的引用:

  1. how to access resources in a android library project
  2. providing resource on android
  3. Accessing resources on android

1 个答案:

答案 0 :(得分:5)

根据this answer,NDK提供了一个API来访问资产文件夹(AAssetManager,请参阅here)。

或者,我在我的一个项目中使用的一种简单方法是将必要的文件写入Java端的文件系统(例如/ storage或/ sdcard),然后仅将文件路径传递给NDK。