【问题标题】:How to use fopen for JNI native functions when building .aar?构建.aar时如何将fopen用于JNI本机函数?
【发布时间】:2016-05-26 10:04:50
【问题描述】:

我正在尝试构建一个包含本机/C++ 代码的 .aar 库,因此结构中的 src\main\jni 处有一个 jni 文件夹。其中一个 C++ 函数使用 fopen 来读取文本文件。要读取的文本文件位于 src\main\jni 以及其他 .cpp/.h 中。我已将 fopen 的文件路径更改为 "/data/data/[package name]/files/XXX.txt",但仍然失败。我已经搜索了一些相关的帖子,但到目前为止还没有明确的解决方案......感谢您的任何建议! (我使用的是 Android Studio 2.1.1)

【问题讨论】:

  • src 文件夹在运行时将不存在。

标签: android android-studio java-native-interface fopen aar


【解决方案1】:

您应该将文本文件放在 assets 文件夹中,并使用 AAssetManager API 在运行时读取它。这篇文章对此进行了总结:Android read text file from asset folder using C (ndk)

【讨论】:

  • 谢谢!我应该在哪里添加资产文件夹? src\main\jnisrc\main ?
  • 资产文件夹,将在您的应用程序运行时可用,必须放在 src/main 中。
  • assets 文件夹和 AssetManager 真的很适合我,谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-10-23
  • 2021-12-26
  • 2014-09-29
  • 1970-01-01
  • 2016-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多