2016-09-30 11 views
0
A/art(30231): art/runtime/check_jni.cc:65]  string: 'LevelScore11� 
art/runtime/check_jni.cc:65] ' 
art/runtime/check_jni.cc:65]  in call to NewStringUTF 
A/art(16684): art/runtime/check_jni.cc:65]  from void org.cocos2dx.lib.Cocos2dxRenderer.nativeRender() 
    A/art(16684): art/runtime/check_jni.cc:65] native: #08 pc 003e93f8 /data/app/com.xxxxxxxxxx/lib/arm/libcocos2dcpp.so (_ZN7_JNIEnv12NewStringUTFEPKc+40) 
    art/runtime/check_jni.`enter code here`cc:65] native: #09 pc 003efc8c /data/app/xxxxxxxxxxxxx/lib/arm/libcocos2dcpp.so (_Z19setIntegerForKeyJNIPKci+112) 
    art/runtime/check_jni.cc:65] native: #10 pc 005cd8b8 /data/app/xxxxxxxxxxx/lib/arm/libcocos2dcpp.so (_ZN7cocos2d11UserDefault16setIntegerForKeyEPKci+40) 
    art/runtime/check_jni.cc:65] native: #11 pc 003d62a8 /data/app/xxxxxxxxxxxx/lib/arm/libcocos2dcpp.so (???) 
    art/runtime/check_jni.cc:65] native: #12 pc 004553f4 /data/app/xxxxxxxxxxxx/lib/arm/libcocos2dcpp.so (_ZN7cocos2d8CallFunc7executeEv+156) 
    art/runtime/check_jni.cc:65] native: #13 pc 0045534c /data/app/xxxxxxxxxxxx/lib/arm/libcocos2dcpp.so (_ZN7cocos2d8CallFunc6updateEf+40) 

Для многих файлов я получаю ошибку, чтобы позвонить вJNI NewStringUTF врежется в андроиде

функции NewStringUTF

APP будучи сбой в этой функции.

Доступна ли какая-либо более новая версия? Я нашел так много решений, но не повезло. Может кто-нибудь мне помочь?

Заранее спасибо.

+1

Опубликовать весь вызов JNI, созданный u и вызвавший этот крах, чтобы мы могли видеть, что вы сделали. – V01D1

+0

@ IulianVărzaru Я не могу найти, какая ошибка, вызывающая файл –

+0

13-й символ не является символом utf8 и, следовательно, сбой функции NewStringUTF. Попробуйте сбросить символ * до создания строки. –

ответ

1

Из того, что я могу видеть из вашей ошибки и потому, что вы не делаете ничего, с JNI, кажется, что ошибка происходит, когда вы пытаетесь сохранить целое число в UserDefaults:

A/art(16684): art/runtime/check_jni.cc:65] native: #08 pc 003e93f8 /data/app/com.xxxxxxxxxx/lib/arm/libcocos2dcpp.so (_ZN7_JNIEnv12NewStringUTFEPKc+40) 
    art/runtime/check_jni.`enter code here`cc:65] native: #09 pc 003efc8c /data/app/xxxxxxxxxxxxx/lib/arm/libcocos2dcpp.so (_Z19setIntegerForKeyJNIPKci+112) 
    art/runtime/check_jni.cc:65] native: #10 pc 005cd8b8 /data/app/xxxxxxxxxxx/lib/arm/libcocos2dcpp.so (_ZN7cocos2d11UserDefault16setIntegerForKeyEPKci+40 

Так проверить, где вы звоните UserDefault к setIntegerForKey, если вы каким-то образом поставить строку вместо междунар, он должен быть:

cocos2d::UserDefault::getInstance()->setIntegerForKey("key", 0); 

или если вы хотите сохранить строку:

cocos2d::UserDefault::getInstance()->setStringForKey("userCards", "value); 

UPDATE

Ok попробовать это и опубликовать результат здесь, чтобы мы могли видеть то, что происходит:

cd $ANDROID_NDK 
adb logcat | ./ndk-stack -sym $PROJECT_PATH/obj/local/armeabi 

где:

$ ANDROID_NDK это путь к вашему android NDK

$ PROJECT_PATH - это путь к вашему проекту Android-разработчика cocos2d-x

+0

thak вам за помощью. но я не устанавливаю ни одной строки в ** setIntegerForKey **. Также ошибкой может быть кодирование в UTF-8, но пока не удается найти решение. Можете ли вы сказать, где я могу найти свой файл ** check_jni .cc **? –

+0

Вы ничего не спасаете от UserDefaults? – V01D1

+0

yes Я экономя значение в UserDefaults, и я сохраняю целочисленное значение в setIntegerForKey .. Я не сохраняю ни одной строки в setIntegerForKey. –

 Смежные вопросы

  • Нет связанных вопросов^_^