【问题标题】:Could not find class 'android.graphics.drawable.RippleDrawable' Unicode issue?找不到类 'android.graphics.drawable.RippleDrawable' Unicode 问题?
【发布时间】:2017-01-29 05:40:15
【问题描述】:

只需添加 ???? (🌑) 符号作为 android:text="🌑 crash here" 到 TextView 会导致应用程序在以下设备上崩溃:

  • 三星 Galaxy Star Plus (android 4.1.2)
  • 联想S930(安卓4.4.2)
  • LG Spirit LG-H422 (android 5.0.1)

检查了一个从头开始创建的空项目。 LogCat 输出:

01-29 13:07:38.009 5780-5780/c7j.net.myapplication E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
01-29 13:07:38.094 5780-5780/c7j.net.myapplication E/dalvikvm: VM aborting
01-29 13:07:38.095 5780-5780/c7j.net.myapplication A/libc: Fatal signal 6 (SIGABRT) at 0x00001694 (code=-6), thread 5780 (t.myapplication)
01-29 13:07:38.096 5780-5780/c7j.net.myapplication A/libc: Send stop signal to pid:5780 in void debuggerd_signal_handler(int, siginfo_t*, void*)

但是,在 Sony XA 和 Sony Z2 Tablet (Android 6.0.0) 上一切正常,Unicode 符号显示正常。

问题是:这只是 android 6.0 之前的设备或某些制造商不支持吗?为什么我会看到 Log-cat 中提到的涟漪图?

编辑: 最后答案是 NDK 中的一个错误。查看@Charuka 答案以了解详细信息和解决方法。

【问题讨论】:

  • 应用程序在摩托罗拉 E3 Power XT1706 设备上的 textview 中没有因此文本而崩溃
  • @careful7j 将行从 android:text="🌑 crash here" 更改为 android:text="your name"。让我知道它是否还在碰撞?
  • @careful7j 所以你说你没有在视图上使用任何波纹,但是这个 unicode 会出现错误。嗯,这是完整的日志吗?
  • 不,如果我删除它,我的应用程序不会崩溃。看起来我们在下面有一个很好的答案。

标签: java android string unicode rippledrawable


【解决方案1】:
  1. Java 客户端传递一个包含补充 Unicode 的字符串 JNI/NDK 的字符。
  2. JNI 使用 NDK 函数 GetStringUTFChars() 来提取 Java 字符串的内容。
  3. GetStringUTFChars() 将字符串数据返回为不正确且无效的 UTF-8。
  4. 导致崩溃

嗯,这有点像known bug,这里似乎有类似的事情!

你给的描述太少了,

android:text="🌑

似乎您正在尝试从您的视图中添加 Unicode。通常您应该会出现错误提示

未转义的 & 或非终止字符/实体引用!

这种方式适用于正确的 Unicode!

textView.setText(Html.fromHtml("&#127761"));

嘿 Html.fromHtml() 已弃用?是的,请参阅what is the alternative!


编辑:由于您的数据不够,我自己使用 XML 视图重新创建了崩溃(确保仅使用带有 Unicode 的视图!)。它崩溃得很好!

这是完整的日志,错误说明了一切:

应用程序中检测到 JNI 错误:输入无效修改的 UTF-8:非法起始字节 0xf0 ..调用 NewStringUTF 时的起始字节非法 嗯,这就是你要找的错误!

这证实了我所说的。

另外

这是你的角色> https://www.compart.com/en/unicode/U+1F311 称为新月符号。 那些用于系统表情符号的 Unicode 也是如此。因此,根据平台的不同,它可能会略有不同!

例如:在三星 Galaxy S5 中

来源:http://emojipedia.org/samsung/galaxy-s5/new-moon-symbol/

更多

JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0xf0
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]     string: '?'
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]     in call to NewStringUTF
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]     from java.lang.String android.content.res.StringBlock.nativeGetString(long, int)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   | group="main" sCount=0 dsCount=0 obj=0x75748000 self=0xb4827800
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   | sysTid=14933 nice=-11 cgrp=default sched=0/0 handle=0xb6f5abec
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   | state=R schedstat=( 0 0 0 ) utm=12 stm=4 core=1 HZ=100
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   | stack=0xbe4b4000-0xbe4b6000 stackSize=8MB
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   | held mutexes= "mutator lock"(shared held)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #00 pc 00004dfc  /system/lib/libbacktrace_libc++.so (_ZN13UnwindCurrent6UnwindEjP8ucontext+23)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #01 pc 00003631  /system/lib/libbacktrace_libc++.so (_ZN9Backtrace6UnwindEjP8ucontext+8)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #02 pc 00256a39  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_6mirror9ArtMethodE+68)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #03 pc 0023a93d  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+148)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #04 pc 000b5d07  /system/lib/libart.so (_ZN3artL8JniAbortEPKcS1_+582)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #05 pc 000b6437  /system/lib/libart.so (_ZN3art9JniAbortFEPKcS1_z+58)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #06 pc 000b8839  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckEbPKcz.constprop.129+876)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #07 pc 000c10b9  /system/lib/libart.so (_ZN3art8CheckJNI12NewStringUTFEP7_JNIEnvPKc+36)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #08 pc 00090c5b  /system/lib/libandroid_runtime.so (???)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   native: #09 pc 0026e053  /system/framework/arm/boot.oat (Java_android_content_res_StringBlock_nativeGetString__JI+102)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.content.res.StringBlock.nativeGetString(Native method)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.content.res.StringBlock.get(StringBlock.java:82)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   - locked <0x2b2c6a62> (a android.content.res.StringBlock)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.content.res.XmlBlock$Parser.getPooledString(XmlBlock.java:482)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:1003)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.content.res.TypedArray.getText(TypedArray.java:145)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.widget.TextView.<init>(TextView.java:991)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.widget.TextView.<init>(TextView.java:685)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.widget.TextView.<init>(TextView.java:681)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at java.lang.reflect.Constructor.newInstance!(Native method)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.view.LayoutInflater.createView(LayoutInflater.java:607)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   - locked <0x141f57f3> (a java.lang.Object[])
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:436)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.Activity.setContentView(Activity.java:2245)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at user.example.charu.its2017huree.homeActivity.onCreate(homeActivity.java:26)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.Activity.performCreate(Activity.java:6178)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.ActivityThread.access$900(ActivityThread.java:177)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.os.Handler.dispatchMessage(Handler.java:102)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.os.Looper.loop(Looper.java:135)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at android.app.ActivityThread.main(ActivityThread.java:5910)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at java.lang.reflect.Method.invoke!(Native method)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at java.lang.reflect.Method.invoke(Method.java:372)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
02-01 07:34:43.382 14933-14933/? A/art: sart/runtime/check_jni.cc:65] 
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293] Runtime aborting...
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293] Aborting thread:
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293] "main" prio=10 tid=1 Native
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | group="" sCount=0 dsCount=0 obj=0x75748000 self=0xb4827800
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | sysTid=14933 nice=-11 cgrp=default sched=0/0 handle=0xb6f5abec
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | state=R schedstat=( 0 0 0 ) utm=16 stm=6 core=1 HZ=100
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | stack=0xbe4b4000-0xbe4b6000 stackSize=8MB
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | held mutexes= "abort lock" "mutator lock"(shared held)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #00 pc 00004dfc  /system/lib/libbacktrace_libc++.so (_ZN13UnwindCurrent6UnwindEjP8ucontext+23)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #01 pc 00003631  /system/lib/libbacktrace_libc++.so (_ZN9Backtrace6UnwindEjP8ucontext+8)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #02 pc 00256a39  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_6mirror9ArtMethodE+68)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #03 pc 0023a93d  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+148)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #04 pc 0022a937  /system/lib/libart.so (_ZN3art10AbortState10DumpThreadERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEPNS_6ThreadE+22)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #05 pc 0022abb3  /system/lib/libart.so (_ZN3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+386)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #06 pc 0022ad61  /system/lib/libart.so (_ZN3art7Runtime5AbortEv+72)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #07 pc 000ac1c5  /system/lib/libart.so (_ZN3art10LogMessageD1Ev+1312)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #08 pc 000b5eed  /system/lib/libart.so (_ZN3artL8JniAbortEPKcS1_+1068)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #09 pc 000b6437  /system/lib/libart.so (_ZN3art9JniAbortFEPKcS1_z+58)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #10 pc 000b8839  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckEbPKcz.constprop.129+876)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #11 pc 000c10b9  /system/lib/libart.so (_ZN3art8CheckJNI12NewStringUTFEP7_JNIEnvPKc+36)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #12 pc 00090c5b  /system/lib/libandroid_runtime.so (???)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #13 pc 0026e053  /system/framework/arm/boot.oat (Java_android_content_res_StringBlock_nativeGetString__JI+102)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.StringBlock.nativeGetString(Native method)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.StringBlock.get(StringBlock.java:82)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   - locked <0x2b2c6a62> (a android.content.res.StringBlock)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.XmlBlock$Parser.getPooledString(XmlBlock.java:482)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:1003)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.TypedArray.getText(TypedArray.java:145)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.widget.TextView.<init>(TextView.java:991)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.widget.TextView.<init>(TextView.java:685)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.widget.TextView.<init>(TextView.java:681)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Constructor.newInstance!(Native method)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.createView(LayoutInflater.java:607)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   - locked <0x141f57f3> (a java.lang.Object[])
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:436)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.Activity.setContentView(Activity.java:2245)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at user.example.charu.its2017huree.homeActivity.onCreate(homeActivity.java:26)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.Activity.performCreate(Activity.java:6178)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.access$900(ActivityThread.java:177)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.os.Handler.dispatchMessage(Handler.java:102)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.os.Looper.loop(Looper.java:135)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.main(ActivityThread.java:5910)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Method.invoke!(Native method)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Method.invoke(Method.java:372)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293] Dumping all threads without appropriate locks held: thread list lock mutator lock
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293] All threads:
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293] DALVIK THREADS (11):
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293] "main" prio=10 tid=1 Native
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | group="" sCount=0 dsCount=0 obj=0x75748000 self=0xb4827800
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | sysTid=14933 nice=-11 cgrp=default sched=0/0 handle=0xb6f5abec
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | state=R schedstat=( 0 0 0 ) utm=21 stm=6 core=1 HZ=100
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | stack=0xbe4b4000-0xbe4b6000 stackSize=8MB
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   | held mutexes= "abort lock"
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #00 pc 00004dfc  /system/lib/libbacktrace_libc++.so (_ZN13UnwindCurrent6UnwindEjP8ucontext+23)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #01 pc 00003631  /system/lib/libbacktrace_libc++.so (_ZN9Backtrace6UnwindEjP8ucontext+8)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #02 pc 00256a39  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_6mirror9ArtMethodE+68)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #03 pc 0023a93d  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+148)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #04 pc 00243a49  /system/lib/libart.so (_ZN3art10ThreadList10DumpLockedERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+104)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #05 pc 0022ab1f  /system/lib/libart.so (_ZN3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+238)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #06 pc 0022ad61  /system/lib/libart.so (_ZN3art7Runtime5AbortEv+72)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #07 pc 000ac1c5  /system/lib/libart.so (_ZN3art10LogMessageD1Ev+1312)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #08 pc 000b5eed  /system/lib/libart.so (_ZN3artL8JniAbortEPKcS1_+1068)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #09 pc 000b6437  /system/lib/libart.so (_ZN3art9JniAbortFEPKcS1_z+58)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #10 pc 000b8839  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckEbPKcz.constprop.129+876)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #11 pc 000c10b9  /system/lib/libart.so (_ZN3art8CheckJNI12NewStringUTFEP7_JNIEnvPKc+36)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #12 pc 00090c5b  /system/lib/libandroid_runtime.so (???)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   native: #13 pc 0026e053  /system/framework/arm/boot.oat (Java_android_content_res_StringBlock_nativeGetString__JI+102)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.StringBlock.nativeGetString(Native method)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.StringBlock.get(StringBlock.java:82)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   - locked <0x2b2c6a62> (a android.content.res.StringBlock)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.XmlBlock$Parser.getPooledString(XmlBlock.java:482)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:1003)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.content.res.TypedArray.getText(TypedArray.java:145)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.widget.TextView.<init>(TextView.java:991)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.widget.TextView.<init>(TextView.java:685)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.widget.TextView.<init>(TextView.java:681)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Constructor.newInstance!(Native method)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.createView(LayoutInflater.java:607)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   - locked <0x141f57f3> (a java.lang.Object[])
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:436)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.Activity.setContentView(Activity.java:2245)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at user.example.charu.its2017huree.homeActivity.onCreate(homeActivity.java:26)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.Activity.performCreate(Activity.java:6178)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.access$900(ActivityThread.java:177)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.os.Handler.dispatchMessage(Handler.java:102)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.os.Looper.loop(Looper.java:135)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at android.app.ActivityThread.main(ActivityThread.java:5910)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Method.invoke!(Native method)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at java.lang.reflect.Method.invoke(Method.java:372)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
02-01 07:34:43.652 14933-14933/? A/art: sart/runtime/runtime.cc:293]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

【讨论】:

  • 是的,看起来它解释了很多事情。我尝试不将其编码为字符串资源,而是使用 textView.setText(Html.fromHtml("🌑"));现在它可以工作了。
  • 但现在是黑白的,而在Android 6.0+ 设备上是彩色图​​像,当时是字符串资源。所以也许这也是原因?
  • @careful7j 大声笑我在你发表评论的那一刻就在这里,但没有注意到,mm 没有收到通知我跟着错误,它把我带到了这个有趣的帖子 --> @987654326 @
  • @careful7j 好吧,我会试着弄清楚!我没有较低的 api 的 mm 在哪里 mu 模拟器 bah :)
  • 感谢您的详细回答,现在任何来到这里的人都会知道它是如何工作的以及发生了什么。
【解决方案2】:

Android 有一个 xml 致敬这个 in xml do Android:background="?attr/selectablebackground" 有可能是您所追求的连锁反应吗?

【讨论】:

  • 不,我的简单 textView 没有附加可选背景或波纹效果 - 毕竟它不是 imageview。或者也许有一些我不知道的东西。
  • 等一下,让我看看我的代码...有一个 google material design 支持按钮,它是一个不难配置的文本按钮。
  • 对不起,我不知道你在说什么。你不需要一个按钮来捕捉这个问题——只需要一个纯文本视图
【解决方案3】:

试试这个在字符串中定义&amp;#127761。

<string name="unicode_str">&#127761;</string>

在文本视图上

android:text = "@string/unicode_str"

【讨论】:

  • 是的,我在我的应用程序中就是这样做的。在示例中,我这样说只是为了减少文本的数量,因为无论如何结果都是相等的:)
猜你喜欢
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-11
相关资源
最近更新 更多