我正在努力从使用运行 5.1.1 的华硕设备的 android 用户那里找到崩溃报告的根源。崩溃报告如下:
Caused by java.lang.RuntimeException
Failed to resolve attribute at index 96
Raw Text
android.content.res.TypedArray.getColor (TypedArray.java:401)
android.widget.TextView. (TextView.java:710)
android.widget.EditText. (EditText.java:65)
android.widget.EditText. (EditText.java:61)
android.support.v7.widget.AppCompatEditText. (AppCompatEditText.java:64)
android.support.v7.widget.AppCompatEditText. (AppCompatEditText.java:60)
android.support.design.widget.TextInputEditText. (TextInputEditText.java:41)
基于 TypedArray#getColor 的离线 410 ( http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/content/res/TypedArray.java #401 ) 传递给 getColor 的原始索引值为 96 / STYLE_NUM_ENTRIES。STYLE_NUM_ENTRIES 为 6,因此传入的索引值为 16。
我挂断电话的是第 710 行,这是 5.1.1 中的空行(http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1 .1_r1/android/widget/TextView.java#710)。我认为这是华硕修改了 TextView 的来源的证据。我也对 16 没有映射到任何 TextAppearance_ 属性(https://stuff.mit.edu/afs/sipb/project/android/docs/reference/android/R.styleable.html#TextAppearance_textColorHighlight)感到困惑,更不用说颜色了相关的 TextAppearance_ 属性。
有没有办法查看修改后的源?继续排除故障的好方法是什么?我在分析这个堆栈跟踪时是否犯了一个根本性错误?
可能与android.view.InflateException: Error inflating class android.widget.EditText ASUS Android 5有关