我反编译后的apk,分别出现了.java文件,但是有些文件的名字中有这样的“AudioPlayerActivity$$Lambda$1.java”,这个“$$Lambda$1”是什么??
“AudioPlayerActivity$$Lambda$1.java”这些基本上是写在“AudioPlayerActivity.java”内部的匿名代码块,现在“AudioPlayerActivity.java”可以有任意数量的匿名代码块,所以在反编译它时,所有这些块被转换为单独的类,并按顺序在末尾有一个数字。让我们举个例子,我有一个 HelloWorld.java 类,其中包含一个块
runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
另一个匿名块用于按钮上的点击侦听器,如下所示。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
然后在反编译时我会得到3个类helloworld.smali,helloworld$1.smali(带有runOnUithread的代码)和helloworld$2.smali(带有onClickListener的代码)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)