这次jni模块的编写,有几个地方需要重点注意下的,也是我这次比较消耗时间的地方。
1.基本常识,不能直接使用jstring,使用GetStringUTFChars,并记得ReleaseStringUTFChars释放分配的空间.
2.如果java中需要得到jni中的数据结构,则必须定义类和相应的函数。
3.使用javap -s获取参数签名,内部类使用“.”来引用,GetMethodID使用该函数签名,构造函数使用"<init>".
4.FindClass对于内部类来说用$隔开,如com/john/maindesk/BookScanThread$HScanEntry.
5.NewObject中的最后的参数应与函数签名中的相匹配.