Im Decompiled apk分别出现.java文件,但有些文件的名称是" AudioPlayerActivity $$ Lambda $ 1.java",这是什么" $$ Lambda $ 1& #34; ...
答案 0 :(得分:3)
" AudioPlayerActivity $$ LAMBDA $ 1.java"这些基本上是在" AudioPlayerActivity.java"内写的匿名代码块,现在是" AudioPlayerActivity.java"可以有任意数量的匿名代码块,因此在对其进行反编译时,所有这些块都会按顺序转换为单独的类,并在末尾添加数字。让我们举一个例子,我有一个HelloWorld.java类,它包含一个块
runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
和像这样的按钮上的clicklistener的另一个匿名块。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
然后在反编译时,我会得到3个类helloworld.smali,helloworld $ 1.smali(带有runOnUithread的代码)和helloworld $ 2.smali(带有onClickListener的代码)。