2017-03-12 1 views

Antwort

1

"AudioPlayerActivity $$ Lambda $ 1.java" Dies ist im Grunde ein anonymer Block von Code innerhalb der "AudioPlayerActivity.java" geschrieben, jetzt kann die "AudioPlayerActivity.java" eine beliebige Anzahl von anonymen Codeblock haben, also beim Dekompilieren Es werden all diese Blöcke in separate Klassen mit einer Nummer am Ende in einer sequentiellen Reihenfolge umgewandelt. Nehmen wir ein Beispiel nehmen, ich habe eine Klasse HelloWorld.java, die einen Block für eine clicklistener auf die Schaltfläche wie folgt

runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 

     } 
    }); 

und einen anderen anonymen Block enthält.

button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

      } 
     }); 

dann auf decompiling würde ich drei Klassen helloworld.smali, Hello World $ 1.smali erhalten (mit Code für runOnUithread) und Hello World $ 2.smali (mit Code für OnClickListener).