从NDK代码访问应用程序数据路径

时间:2014-02-10 16:25:48

标签: android android-ndk java-native-interface native

我正在使用NDK为Android构建c ++代码。 我的代码将用作应用程序开发人员的外部SDK。

是否可以从本机代码访问应用程序的数据路径?

一种选择是使用JNI调用JVM并查找此信息,但是因为我正在编写库代码,所以我不确定我的SDK是否会在所有本机应用程序(NativeActivity)中使用。

实现这一目标的最佳选择是什么?

1 个答案:

答案 0 :(得分:3)

可以从完整的本机代码访问应用程序的数据路径。外部和内部存储路径存储在android_app->活动中,其类型为ANativeActivity,android_app结构在本机活动的入口点定义,因此您不必担心任何事情。

/**
* Path to this application's internal data directory.
*/
const char* internalDataPath;

/**
 * Path to this application's external (removable/mountable) data directory.
 */
const char* externalDataPath;

如果没有本机活动,可以通过JNI查询存储路径,如评论中所述。