
C:SVNCustomPinyinIMEappsrcmaincppandroidcom_android_inputmethod_pinyin_PinyinDecoderService.cpp:217:65: error: cannot initialize a parameter of type 'jboolean *' (aka 'unsigned char *') with an rvalue of type 'bool'2、找到这行编译错误的代码
JNIEXPORT jint JNICALL nativeImGetPredictsNum(JNIEnv *env, jclass clazz,
jstring fixed_str) {
char16 *fixed_ptr = (char16*)(*env).GetStringChars(fixed_str, false);
size_t fixed_len = (size_t)(*env).GetStringLength(fixed_str);
char16 fixed_buf[kMaxPredictSize + 1];
if (fixed_len > kMaxPredictSize) {
fixed_ptr += fixed_len - kMaxPredictSize;
fixed_len = kMaxPredictSize;
}
utf16_strncpy(fixed_buf, fixed_ptr, fixed_len);
fixed_buf[fixed_len] = (char16)'';
predict_len = im_get_predicts(fixed_buf, predict_buf);
(*env).ReleaseStringChars(fixed_str, fixed_ptr);
return predict_len;
}
3、解决办法
里面函数第一行里面的false 改成 JNI_FALSE
char16 *fixed_ptr = (char16*)(*env).GetStringChars(fixed_str, false);
改成
char16 *fixed_ptr = (char16*)(*env).GetStringChars(fixed_str, JNI_FALSE);
4、编译注意事项编译这个开源的输入法。熟悉ndk配置和cmake配置就可以了。
cmake配置如下
build设置
local.properties文件编译的ndk路径配置ndk.dir=C:\Users\AppData\Local\Android\Sdk\ndk.3.6528147
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)