问题描述
我反编译了一些 apk,结果得到了下面的代码:
public interface IConfiguration {
static {
Covode.recordClassIndex(25378);
}
...
}
像这样:
new Handler(Looper.getMainLooper()).post(new Runnable() {
static {
Covode.recordClassIndex(27414);
}
...
}
我们可以看到这是java,但是java不支持在接口和匿名类中声明静态块。那么,这是什么?我该如何解决这个问题?
解决方法
这似乎是为了阻止篡改应用程序的代码。
静态初始化器出现在字节码中,以初始化非编译时常量静态字段。