进行JNI编译时出现的问题总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/walkeryudev/article/details/80268164

今天进行jni编译生成.h文件时出现报错

java -jni
错误: 编码GBK的不可映射字符
什么情况?我的整个工程所有的文件都是UTF-8编码的啊,怎么会出现GBK呢?

出现这种错误的原因是由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式。
在我的Windows上进行java编译时默认用GBK编码编译的。所以要解决这个问题,只需要指定编码就可以了

修改jni命令如下

解决方法:应该使用-encoding参数指明编码方式,如:
javah -jni -encoding UTF-8 com.example.XXXX.XXXX.MainActivity

问题解决!

猜你喜欢

转载自blog.csdn.net/walkeryudev/article/details/80268164