是否可以从Android应用程序调用C ++库?如果是,怎么样?
我在Android编程方面没有经验(虽然有些Java编程经验),但我仍然想知道这是否可行。鉴于有很多优秀的C ++库,如果无法从Android应用程序调用C ++库,我会感到惊讶。
答案 0 :(得分:11)
您需要编写Java Native Interface(JNI)才能从Android Java代码调用本机(c / c ++)库。
层次结构如下:
+++++++++++++++++++++++++++++++++++
| Android Application |
+++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++
| Android Application Framework |
+++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++
| Java Native Interface |
+++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++
| C/C++ Native Libraries |
+++++++++++++++++++++++++++++++++++
答案 1 :(得分:7)
是的,这是可能的。您需要使用Android NDK构建C ++库。 新链接https://developer.android.com/ndk/index.html
答案 2 :(得分:1)
是的,你可以。如前所述,您提到使用NDK构建C ++库并使用JNI从Java调用它
如果您计划访问多个C ++类,可以使用SWIG为您自动生成JNI层
答案 3 :(得分:0)
我不知道它在Android中是否完全相同,但这是一个很棒的教程,帮助我在纯Java中集成c ++ http://www.javaworld.com/javaworld/javatips/jw-javatip17.html