首先,JNI是java代码访问c/c++的中间层,所以你得先有c/c++库,才能用JNI,而这个库就是.so文件了,首先看一个项目的目录,这是一个android播放器项目,这里的播放器的播放,编码解码和显示都是在c++层实现的,java层只是调用这些接口就可以了。先看图 比如这些库是在跳入一个界面的时候使用,那先像上图那样把库加载进...
这个就是上面说到的那个坑,使用StdCall方式导出的DLL,暴露出的方法名是自动生成的(c++不太懂,大概是这么回事),比如定了一个方法名:TestPrint(), 这时候实际生成的方法名就变成了 _TestPrint@12 (下划线+方法名+@+参数栈数),用 depends.exe 这个软件可以也可以看出来。 网上搜了许久也没有一个确切的答案,deb...