这里老师讲错了,java中的String是Unicode字符编码,而jni的char*字符串有两种表达形式:Unicode和UTF-8,所以,NewString(UTF)是从Unicode(UTF-8)的c字符串中创建一个jstring,而GetString(UTF)Chars是从jstring里面获取一个Unicode(UTF-8)的c字符串,这里有没有UTF只是针对于c字符串
2020-04-16
最新回答 / Aleyn
<...code...>你把CMakeLists.txt 的 add_library 改成如上图所示,就行了。不过你会发现 nativate-lib.cpp 就报红了最好还是配置一下目录,像我下边这样,所有的类都能正常引用了
aux_source_directory(. ...
2020-04-12
最赞回答 / mosketo
JNIDynamicLoad.java public class JNIDynamicLoad { static { System.loadLibrary("dynamic-lib"); } public native int getRandomNum(); public native String getNativeString(); }jni_dynamic_lo...
2020-04-09