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