我从未见过这样的堆栈跟踪,也不知道如何进行故障排除。它没有发生在 Android 10 (SDK 29) 或更早版本中。该应用程序使用 androidx 支持库和 SDK 30 构建。
发生这种情况的电话:
Samsung Note 10+ 5G running on SDK 30
Run Code Online (Sandbox Code Playgroud)
任何指针表示赞赏。
这就是我可以从 PlayStore 获得的所有信息:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> app-package-name <<<
backtrace:
#00 pc 00000000038621f0 /data/app/~~dDiCj_8810kb6DPfFJq1VA==/com.google.android.trichromelibrary_438909034-1CcX13lT2sfyKsCGVu4mkA==/base.apk!libmonochrome_64.so (offset 0x646000)
Run Code Online (Sandbox Code Playgroud) 下面的代码在 Kotlin/Android 中崩溃,堆栈跟踪位于底部。它是从Java/Android转换而来的,没有这样的问题。还提供了原始 Java 代码。当我尝试向密码字段添加字符时发生崩溃。编辑现有字符效果很好。
我对此有两个问题:
导致 Android Paint 崩溃的 Kotlin 代码
mPwd!!.transformationMethod = object : PasswordTransformationMethod() {
override fun getTransformation(source: CharSequence, view: View): CharSequence {
return PasswordCharSequence(source)
}
internal inner class PasswordCharSequence(private val source: CharSequence)// Store char sequence
: CharSequence {
val mSource = source
public override val length = mSource.length
init {
App.d(TAG, "SOURCE " + mSource + " " + length)
}
override fun get(index: Int): …Run Code Online (Sandbox Code Playgroud) 我知道,也有人问过类似的问题,但我想,我的情况不同。请不要删除。
迁移到 API 28 后,我开始收到 NoClassDefFoundError 错误,就像许多其他人一样。我见过其他人遇到过这个问题,因为 Google 已弃用 org.apache 类,这需要更改清单,但我没有在我的项目中使用 apache 类。
使调查变得困难的是,下面的堆栈跟踪中没有自定义类,甚至不清楚没有找到什么类。最糟糕的是,我无法在模拟器或真实设备上重现该错误,只能在 Google Play 商店报告中看到它,该报告显示所有崩溃都发生在 Android 9 设备上。
我有两个问题:
在不相关的情况下,我认为维护较新的 Android 版本变得非常困难,而且它们的支持根本不存在,所以 stackoverflow 是我最后的希望。
java.lang.NoClassDefFoundError:
at com.google.android.a.a.m.d (m.java:266)
at com.google.android.a.a.m.a (m.java:113)
at com.google.android.a.a.g.a (g.java:206)
at com.google.android.a.a.g.a (g.java:166)
at com.google.android.a.a.e$a$2.run (e.java:242)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:214)
at android.os.HandlerThread.run (HandlerThread.java:65)
Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
at com.google.android.a.a.m.d (m.java:266)
at com.google.android.a.a.m.a (m.java:113)
at com.google.android.a.a.g.a (g.java:206)
at …Run Code Online (Sandbox Code Playgroud)