首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Andriod中JNI调用C函数,依据JNI的规范封装的C函数,其它package就无法再使用了,对吗

2012-08-01 
Andriod中JNI调用C函数,根据JNI的规范封装的C函数,其它package就无法再使用了,对吗?请教,Andriod中通过JNI

Andriod中JNI调用C函数,根据JNI的规范封装的C函数,其它package就无法再使用了,对吗?
请教,Andriod中通过JNI调用linux下的动态库里的C函数,根据JNI的规范封装后的C函数,其它package就无法再使用了,对吗?

因为函数名需要按照JNI的规范,例如
Java_com_test_TestHelloLib_printHello的命名对应后面在java代码中,package名字是com.test,类名是TestHelloLib,native函数名是printHello。

那么这样封装好的函数,NDK编译产生的库文件.so,就无法被其它andriod工程使用了,对吗?


[解决办法]
楼主可以把jni调用都封装到一个单独的class里,以后直接就用这个类不就行了。
[解决办法]
我觉得你可以看看,如何动态注册JNI,给个参考
http://blog.csdn.net/chenfeng0104/article/details/7088600
[解决办法]

探讨

楼主可以把jni调用都封装到一个单独的class里,以后直接就用这个类不就行了。

[解决办法]
可以使用动态注册的方式,这样的方式是可以的。

热点排行