NDK乱码问题
步骤:1、在java中声明一个native方法 2、在工程目录下建立一个jni目录,里面建立一个c代码的源程序 3、然后用javah到工程源文件的src目录下生成头文件 4、将生成的头文件.h拷贝到jni目录下 5、然后在jni目录的c代码中,实现逻辑 6、然后在jni目录下,建立一个Android.mk文件 C:\android-ndk-r9b\docs\ANDROID-MK.html 7、然后在cygwin,编译该c源文件 $ ndk-build 8、然后在java代码中使用该native方法 |
代码: #include <stdio.h>
#include <jni.h>
#include "cn_zengfansheng_ndk_utf_MainActivity.h"
jstring Java_cn_zengfansheng_ndk_1utf_MainActivity_hello(JNIEnv * env,
jobject obj) {
return (*env)->NewStringUTF(env, "你好,中国!");
} |
结果: |
问题:中文乱码问题 解决:ndk开发的中文乱码问题: 1、低版本ndk 不支持中文 ndk-r4-crystal iso-8859-1 转码,new String(hello().getBytes("ISO8859-1"),"UTF-8")
2、 高版本的ndk,右击hello.c,properties |