代码之家  ›  专栏  ›  技术社区  ›  EpicPandaForce

API 19上的Android NativeGetString崩溃

  •  0
  • EpicPandaForce  · 技术社区  · 6 年前

    (如果有人遇到这个愚蠢的问题,我会回答这个问题以备将来参考。)

    我有个例外

    07-05 17:23:49.499 1765-1765/? I/dalvikvm:   #16  pc 00030ec8  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
          #17  pc 0002e560  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
          #18  pc 00063794  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+335)
          #19  pc 0004ce96  /system/lib/libdvm.so
          #20  pc 0004defc  /system/lib/libandroid_runtime.so
          #21  pc 0004ec56  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+353)
          #22  pc 0000109a  /system/bin/app_process
          #23  pc 0000e558  /system/lib/libc.so (__libc_init+47)
            at android.content.res.StringBlock.nativeGetString(Native Method)
            at android.content.res.StringBlock.get(StringBlock.java:82)
            at android.content.res.AssetManager.getResourceText(AssetManager.java:162)
            at android.content.res.Resources.getText(Resources.java:241)
            at android.content.res.Resources.getString(Resources.java:331)
            at android.content.Context.getString(Context.java:358)
    

    怎么了?

    1 回复  |  直到 6 年前
        1
  •  0
  •   EpicPandaForce    6 年前

    虽然emojis可以在较新的设备上工作,但在旧设备(例如api 19)上,不能将emojis作为字符串资源。

    有问题的字符串是:

    <string formatted="false" name="common_errors_title_unexpected">OH NOES! 😢</string>
    

    移除表情符号修复了问题。