天天看点

Android NDK JNI WARNING: illegal start byte 0x

今天解决了jni warning: illegal start byte 0x81这个问题;

问题出现的现象是通过jni调用加密方法,调用之后返回密文内容,结果就出现这个问题。

在国外查找一段时间之后,出现这个问题的原因在于:使用newstringutf方法使用的char *数据要求是可见的内容,所以才导致数据不能正常的返回;

所以一般对我们来说,采用ndk进行加密的时候,加密的密文如果是不可见的字符的话,那么就需要对数据进行一次base64编码,在返回string.

或者直接使用byte返回到上层;