您的位置:首页 > 运维架构 > Linux

No implementation found for native...

2010-08-09 22:30 218 查看
适配...

 

程序最初计划在2.2上做的,刚开始一段时间,移到2.1上,现在调整UI的时候,要往1.5上移...

Platform对我是不关心的,我写的C是最基础的系统调用,JNI是Java Native Interface标准,GNUMake,应该也没有问题。结果说出问题了,其中一个就是多个so库的加载。说1.6以前不支持多个so的加载...这是一个悲剧。然后重写make,改共享库为静态库,然后编成一个so,解决了。不过这个过程中说还有一个问题,在静态库编译共享库的时候,说由5个以上的库链接的话,出现找不到目标的错误...我没有亲见这个错误,也不知是否真的是有这个错误,还是在操作的时候出的问题...今天下午写Make,多个静态库链接出一个so,没有问题,是我遇到的情况...话说回来,我对linux静态库和动态库的编译,还不明白的说...以后研究一下....以后....

还有一个问题,JNI的问题,是我亲见的:同样的一个so,在2.2的模拟器中一切正常,在1.5的模拟器中,却有No implementation found for native的LinkError...JNI的头文件是javah生成的,没有signature错误,LoadLibrary也正常,因为同一个库中的Native函数有已经执行过的,更明白些:No implementation的那个Native的上一个函数可以顺利执行...没有想法,不知思路...google,发现同样的Exception是由于很Newbie的用法导致的,我这里没有...瞎怀疑:inner class...这是一个瞎怀疑,因为inner class中的两个native一前一后一个可执行,一个不可执行...但么有别的想法的情况下把不能执行的native移出inner class,编译运行,竟然过了...剩下之后的一个inner class中的native未实现....额...全部移出,全部通过....不知原因...暂且记录吧...

 

java的程序在1.5上完全走形了...不懂android,让大牛解决吧...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐