有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从安卓java替代JNI调用本机函数

这可能是一个真正的新手问题,但我正在编写一个需要使用。所以用C++编写的库。这个因此,由几个类组成,并且是在通用C++中,而不是JNI。p>

有没有办法从Android java应用程序调用C++函数,除了JNI?我所看到的关于JNI的一切都表明,您必须将本机代码重写为特定于JNI的代码,如果只给您一个。所以

在Android 4.0.3中,有哪些替代方法可以从java应用程序调用本机函数?写一个调用C++函数的小JN-C++程序有多简单,然后可以从java调用?p>

Eclipse中是否有任何东西可以简化该过程

没有比这更优雅的解决方案,我可能不应该感到惊讶


共 (2) 个答案

  1. # 1 楼答案

    这不是特定于Android的,但是您应该看看Java Native Access(JNA)。它允许您使用libffi(不使用JNI)访问本机代码

  2. # 2 楼答案

    我认为没有比您建议的为库编写JNI包装器更优雅的解决方案了。无论如何,这可能不是一个好主意,因为您应该为要支持的每个体系结构编译所有本机代码的单独版本。仅仅附加到一个编译过的库就意味着你被它的架构束缚住了