前两天搞JNI,遇到一个十分郁闷的问题,就是在Debug模式下编译的SO包能调用,编译成Release的SO包调用就崩溃,后来请教一位大神给指点了下,我的JNI里面的代码有C和C++,如果把编译等级设太高,变为高度的二进制代码可能出问题了,所以把编译等级设底点就可以了,找了好多资料,都没有说怎么设置JNI编译等级的,还是请教大神才知道的,所以记录下来,如果有碰到这个问题的童鞋,可以少走点弯路。
设置编译等级是在Application.mk里面,不是在Android.mk里面,加上下面两句就可以了:
APP_OPTIM:=release
APP_CFLAGS += -O0