0
這是我的擴展ClipDrawable
類:無法擴展ClipDrawable:驗證拒絕級Android上的5
package com.example.app;
import android.graphics.drawable.ClipDrawable;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
public class ProgressClipDrawable extends ClipDrawable {
public ProgressClipDrawable(int color) {
super(new ColorDrawable(color), Gravity.LEFT, ClipDrawable.HORIZONTAL);
}
}
當我嘗試實例化這個類,我得到了以下錯誤:
04-14 20:20:49.535 7257-7257/com.example.app I/art: Verification error in java.lang.Object com.example.app.ProgressClipDrawable.access$super(com.example.app.ProgressClipDrawable, java.lang.String, java.lang.Object[])
04-14 20:20:49.535 7257-7257/com.example.app I/art: java.lang.Object com.example.app.ProgressClipDrawable.access$super(com.example.app.ProgressClipDrawable, java.lang.String, java.lang.Object[]) failed to verify: java.lang.Object com.example.app.ProgressClipDrawable.access$super(com.example.app.ProgressClipDrawable, java.lang.String, java.lang.Object[]): [0x35] 'this' argument 'Reference: com.example.app.ProgressClipDrawable' not instance of 'Unresolved Reference: android.graphics.drawable.DrawableWrapper'
04-14 20:20:49.535 7257-7257/com.example.app E/art: Verification failed on class com.example.app.ProgressClipDrawable in /data/data/com.example.app/files/instant-run/dex/slice-slice_6-classes.dex because: Verifier rejected class com.example.app.ProgressClipDrawable due to bad method java.lang.Object com.example.app.ProgressClipDrawable.access$super(com.example.app.ProgressClipDrawable, java.lang.String, java.lang.Object[])
04-14 20:20:49.536 7257-7257/com.example.app D/AndroidRuntime: Shutting down VM
而且例外:
java.lang.VerifyError: Verifier rejected class com.example.app.ProgressClipDrawable due to bad method java.lang.Object com.example.app.ProgressClipDrawable.access$super(com.example.app.ProgressClipDrawable, java.lang.String, java.lang.Object[]) (declaration of 'com.example.app.ProgressClipDrawable' appears in /data/data/com.example.app/files/instant-run/dex/slice-slice_6-classes.dex)
有趣的是,一切工作正常在Android上< 5.我只在運行Android 5.1.1的設備上發生此故障。
有被提及的方法:
java.lang.Object com.example.app.ProgressClipDrawable.access$super(com.example.app.ProgressClipDrawable, java.lang.String, java.lang.Object[])
但我沒有任何這樣的方法有這樣的簽名。
可能是什麼原因?