This use of the following a string “NOOBIE👉x” blows on Android 5.
08-10 00:52:43.247: D/JniHelper(4020): [UTF SAFE TEST] FINAL TEMP STRING: “NOOBIE👉x”
08-10 00:52:43.387: A/art(4020): sart/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0xf0
08-10 00:52:43.387: A/art(4020): sart/runtime/check_jni.cc:65] in call to NewStringUTF
08-10 00:52:43.387: A/art(4020): sart/runtime/check_jni.cc:65] native: #07 pc 000bf93d /system/lib/libart.so (art::CheckJNI::NewStringUTF(_JNIEnv*, char const*)+44)
08-10 00:52:43.387: A/art(4020): sart/runtime/check_jni.cc:65] native: #08 pc 0029b48c /data/app/com.appsomniacs.da2-2/lib/arm/libcocos2dcpp.so (_JNIEnv::NewStringUTF(char const*)+40)
Build fingerprint: ‘samsung/zerofltetmo/zerofltetmo:5.0.2/LRX22G/G920TUVU1AOCG:user/release-keys’
pid: 4020, tid: 5293, name: GLThread 101477 >>> com.appsomniacs.da2 <<<
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x2f6b699e
Stack frame #00 pc 001fa6d8 /system/lib/libart.so (art::Monitor::VisitLocks(art::StackVisitor*, void ()(art::mirror::Object, void*), void*, bool)+167)
Stack frame #01 pc 0023d47f /system/lib/libart.so (art::StackDumpVisitor::VisitFrame()+374)
Stack frame #02 pc 00237693 /system/lib/libart.so (art::StackVisitor::WalkStack(bool)+702)
Stack frame #03 pc 0023fc41 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits >&) const+224)
Stack frame #04 pc 00248d95 /system/lib/libart.so (art::ThreadList::DumpLocked(std::__1::basic_ostream<char, std::__1::char_traits >&)+120)
Stack frame #05 pc 0022f805 /system/lib/libart.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits >&)+272)
Stack frame #06 pc 0022fa4f /system/lib/libart.so (art::Runtime::Abort()+82)
Stack frame #07 pc 000a9275 /system/lib/libart.so (art::LogMessage::~LogMessage()+1360)
Stack frame #08 pc 000b3359 /system/lib/libart.so (art::JniAbort(char const*, char const*)+1112)
Stack frame #09 pc 000b389d /system/lib/libart.so (art::JniAbortF(char const*, char const*, …)+68)
Stack frame #10 pc 000b5e3b /system/lib/libart.so (_ZN3art11ScopedCheck5CheckEbPKcz.constprop.128+922)
Stack frame #11 pc 000bf93d /system/lib/libart.so (art::CheckJNI::NewStringUTF(_JNIEnv*, char const*)+44)
Stack frame #12 pc 0029b48c /data/app/com.appsomniacs.da2-2/lib/arm/libcocos2dcpp.so (_JNIEnv::NewStringUTF(char const*)+40)
Stack frame #13 pc 0075b604 /data/app/com.appsomniacs.da2-2/lib/arm/libcocos2dcpp.so (cocos2d::BitmapDC::getBitmapFromJavaShadowStroke(char const*, int, int, cocos2d::CCImage::ETextAlign, char const*, float, float, float, float, bool, float, float, float, float, bool, float, float, float, float)+312)
Stack frame #14 pc 0075bbc8 /data/app/com.appsomniacs.da2-2/lib/arm/libcocos2dcpp.so (cocos2d::CCImage::initWithStringShadowStroke(char const*, int, int, cocos2d::CCImage::ETextAlign, char const*, int, float, float, float, bool, float, float, float, float, bool, float, float, float, float)+216)
Stack frame #15 pc 0079aa88 /data/app/com.appsomniacs.da2-2/lib/arm/libcocos2dcpp.so (cocos2d::CCTexture2D::initWithString(char const*, cocos2d::_ccFontDefinition*)+1188)
Stack frame #16 pc 00719104 /data/app/com.appsomniacs.da2-2/lib/arm/libcocos2dcpp.so (cocos2d::CCLabelTTF::updateTexture()+120)
Stack frame #17 pc 00718b9c /data/a
Its seems to be possibly related to a well known bug in Android JNI… On Android 4.x I just got some weird characters. but now on 5.0.2, it just blows up and crashes the app. https://code.google.com/p/android/issues/detail?id=25386
I am using Cocos2d-x 2.2.6, and NDK 9D.
Any thoughts?