封了个JNI接口,就是简单的返回一个字符串,结果一调就崩溃,血淋淋的现场,莫名其妙啊!
JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x91
先看错误:
看了很多文章都不明就里,打印的时候明明是对的,为什么一调就崩溃了呢?
这是什么原因,谁能给我个解释?
他so里的代码是这样的:
想了想,改了一下代码,这样竟然可以啊:
那么问题到底在哪里呢?
其实是他不该用std::string.c_str()直接返回指针啊!
或者是我该先把返回的字符串保存下来???
看这个文章吧:
https://blog.youkuaiyun.com/Makefilehoon/article/details/80687087