由于要改apk层的包名,进而改变jni层对应的函数名,于是把apk层和jni层的代码都重整了一下。然后就悲剧了,各种一启动就挂掉啊!
一开始很怀疑是自己包名的改变在apk与jni两个工程里没有统一好,导致jni与apk没有无缝链接。于是将这两个工程各种新建各种重新反编译各种折腾...
后来耐心看错误日志,发现了这句Exception Ljava/lang/NoClassDefFoundError; 再耐心去网上查查,尝试了几种别人提到的可能性。最终解决掉了。
原因是:在改包名的过程中不知怎的把工程配置(Properties)里面的 Java Build Path -》Order and Export 的顺序改混乱了。应该是:
如果不小心把Android Dependencies 删掉了,网友说的再添加的方法是:“重复删除粘贴jar包到libs目录下或者重复删除libs新建libs目录几次,系统又会自动添加进来了...”
我试了一下:删除libs,再新建libs目录,再重启eclipse。可行!