大家好:
我使用Eclipse+ADT+SDK(2.2)+Cygwin+NDK(R4)集成环境来测试JNI功能,C/C++里面的字符串传递到JAVA这边,如果是英文和数字的话,都没问题。如果含有中文字符的话,模拟器就会不显示,同时LogCat显现JVM Aborting异常。
C代码如下:
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI =20100817中文字!");
}请大家帮忙看一下,谢谢!
我使用Eclipse+ADT+SDK(2.2)+Cygwin+NDK(R4)集成环境来测试JNI功能,C/C++里面的字符串传递到JAVA这边,如果是英文和数字的话,都没问题。如果含有中文字符的话,模拟器就会不显示,同时LogCat显现JVM Aborting异常。
C代码如下:
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI =20100817中文字!");
}请大家帮忙看一下,谢谢!
解决方案 »
- android在界面点返回button用setContentView返回后原来设置失效怎么解决呢
- so打包进APK
- android,我如何通过已经得到的端口号获取使用该端口上网的应用程序的名称?急!
- 是什么原理让不同类继承的Button和Activity的onKeyDown事件被触发
- android2.3输入法的切换?
- 按返回键和主页键当前Activity会接收什么消息?
- 谁能详细介绍一下uri 谢谢了
- 有对AutoCompleteTextView(自动补全)控件熟悉的人吗?
- PreferenceScreen加载一个自定义布局layout,怎么设置监听
- android新手求助
- android用什么控件显示数据
- 看一下这段代码,我想用拖动这个圆,可以移动的位置一直不对,求解
不过通过jni传输字符是有些问题,最好直接传byte到java层再转成sting
{
dp::String text = document->getText(startLoc, endLoc);
jstring rs = (env)->NewStringUTF(text.utf8());
return rs;
}
楼主请look;
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI =20100817中文字!");
}
能否结合这个代码给修改一下。谢谢!
{
jstring rs = (env)->NewStringUTF("中华人民共和国");
return rs;
}java 调用
Log.d("",AdobeLibrary.getStringFromJNI());显示:
D/ ( 373): 中华人民共和国
我的都OK阿
logcat平时显示java中的utf-16确实是乱码,本次显示utf8能出中文了? 等待亲眼看看,目前还没见过logcat对中文不乱码的呢,不错