我已经成功地将一个C++库添加到了android 2.3.6源码树中。 现在我想包装我的库,以便从java中使用 我在网上搜索了很多关于这样做的步骤,但几乎所有我发现的例子都是你好世界的例子和简单的例子...... 从这些例子我明白,我必须创建一个java文件,调用我需要的前缀本地的本地函数,然后生成头文件并实现C++文件。使用jni包装一个C++库
但我不知道如何以这种方式调用我的库函数。 这些标题和我的函数之间的连接是什么? 我真的现在迷茫,我不知道怎么就这么开始 ,我会心存感激,如果有人能告诉我一步来包装一个C++库(已集成在AOSP)
非常感谢你的意思是编写一个C++文件来实现这个头文件并复制粘贴库的C++实现 通过复制和注册cc +代码是或我必须将变量的类型更改为jni类型(如jstring,...)? –
我想你只能使用jni类型来传递给java本地方法的变量。对于所有其他方法(以及在方法中声明的变量),您应该可以使用标准的c/C++类型。 也可以在这里查看jni类型描述:http://docs.oracle.com /javase/1.5.0/docs/guide/jni/spec/types.html –