Smali实例操作指令

 实例操作指令主要实现了实例的类型转换,检查及新建等功能。

比如,我们定义一个实例

Object obj = new Object();

其对应的 smali 代码如下

new-instance v0, Ljava/lang/Object;

invoke-direct-empty {v0}, Ljava/lang/Object;-><init>()V


再比如我们可以进行如下的类型判断

String s = "test";

boolean b = s instanceof String;

其对应的 smali 代码如下

const-string v0, "test"

instance-of v1, v0, Ljava/lang/String;


如果我们进行类型的强制转换

String s = "test";

Object o = (Object)s;

其对应的 smali 代码如下

const-string v0, "test"

check-cast v0, Ljava/lang/Object;

move-object v1, v0



发表评论