反编译apk (java)后的静态块内部接口



我反编译了一些apk,结果得到下面的代码:

public interface IConfiguration {
static {
Covode.recordClassIndex(25378);
}
... 
}

,像这样:

new Handler(Looper.getMainLooper()).post(new Runnable() {
static {
Covode.recordClassIndex(27414);
}
...
}

我们可以看到这是java,但是java不支持在接口和匿名类中声明静态块。这是什么?我该如何解决这个问题?

这似乎是为了阻止对应用程序代码的篡改。

静态初始化器出现在字节码中是为了初始化非编译时常量静态字段。

最新更新