在NDK中使用资源文件

Ned*_*Ned 2 android android-ndk

我有一个我正在创建的NDK库,需要包含和访问二进制数据文件(.dat扩展名).我无法让编译库看到这个文件.为了让事情变得更困难,我在图书馆包中做这件事.

我认为,如果在我的Android.mk文件中,我将此.dat文件复制到我的应用程序的资源文件夹,然后从应用程序中访问它,但我觉得必须有更好的方法.

有什么建议?

Ale*_*ohn 6

而不是资源,把它放在资产文件夹中; NDK提供API以从本机代码访问资产.

通常,我们会/sdcard在安装后首次运行应用程序时将一些"文件"从资源或资产解压缩到文件系统(例如).当文件必须由外部应用程序和库使用(例如播放声音)或这些文件将发生变化时,此方法最有效.

最后,您可以在此期间将数据链接到.sondk=build.这将解决如何将.dat文件复制到app文件夹中的问题,但是阅读它可能很棘手,并且修改 - 不可能.您不需要创建一个巨大的库.您可以创建包含数据的模型库.如果我理解正确的话,你可以忽略文件结构,标题等,您只需要一个文件名为LIB的东西.所以在你的libs/armeabi(或其他)文件夹.