1.今日测试发现在部分手机上游戏会崩溃,通过logcat日志发现是jni调用问题(我猜测)
错误日志中有如下语句:
trying to work around app JNI bugs, but didn't find 0x44c8b448 in table!
...
UncaughtException in Thread GLThread 993
java.lang.CloneNotSupportedException: Class doesn't implement Cloneable
...
2.因为大部分手机都没问题的,所以一时半会也不知道是什么问题,后来查看了JNI Functions
在看我用的函数时突然有了发现,是不是函数用错了,因为我java代码里用的是static方法,
而我C++里面调用的时候使用了CallObjectMethod,JNI Functions里面也有一个*CallStaticObjectMethod方法,是不是改掉就可以了?
实践证明:把CallObjectMethod改成CallStaticObjectMethod问题解决了
- 注:一定要注意类型匹配(由于自己不懂android,所以以上分析纯属猜测)