Pergunta

I'm trying to get a deep understanding of smali language. I found a page talking about opcodes online, but it never talks about these special symbols, which is L, ; and [, e.g

invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

So, what does these symbols mean here? e.g [Ljava/lang/Object; and Ljava/lang/String;

Foi útil?

Solução

[Ljava.lang.Object; is the String returned from Object#String for an Object array class, similarly for String

[ signifies an array

L signifies a class or interface

; is end of type

Class#getName

Element Type         Encoding
boolean              Z
byte                 B
char                 C
class or interface   Lclassname;
double               D
float                F
int                  I
long                 J
short                S
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top