Android:在本机代码(C)和应用程序(java)之间共享数据

时间:2015-02-19 16:12:37

标签: java android native shared-memory ashmem

我有一个在Android 5.0上运行的本机应用程序,实际上是一种音频效果,可以在摄像机录制用例(例如)上启动。 我有一个应用程序,需要从中检索一些数据,3个整数exaclty,不断变化。

如何使用我的应用程序与我的本机进程共享这些数据?

有哪些选择?

我看了一眼ashmem,但找不到我的案例, 我试图将我的数据写入文件并从jni读取它们,但是当我启动这个读取函数时,我没有看到任何本机函数的痕迹(只有jni本身)并获得恒定的随机数...(但没有崩溃)

谢谢, 皮尔

1 个答案:

答案 0 :(得分:1)

查看JNI文档。有许多功能可用于此形式:

 env->GetShortArrayRegion(currentDim, 0, size, buffer[i]);

您还可以在Java和Java之间传递long指针。 C app指向本机C / C ++结构。