我正在使用 NDK 为 Android 构建 C++ 代码。 我的代码将用作应用开发者的外部 SDK。
是否可以从 native 代码访问应用程序的数据路径?
一种选择是使用 JNI 调用 JVM 并查找此信息,但是由于我正在编写库代码,我不确定我的 SDK 是否会用于所有 native 应用程序 (NativeActivity)。
实现此目标的最佳选择是什么?
最佳答案
可以从完整的 native 代码访问应用程序的数据路径。外部和内部存储路径存储在 android_app->activity 中,它是 ANativeActivity 类型,android_app struct 定义在 native Activity 的入口点,因此您不必担心任何事情。
/**
* Path to this application's internal data directory.
*/
const char* internalDataPath;
/**
* Path to this application's external (removable/mountable) data directory.
*/
const char* externalDataPath;
如果没有 native Activity ,可以按照注释中的说明通过 JNI 查询存储路径。
关于android - 从 NDK 代码访问应用程序数据路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21682557/