1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
.class public LSmaliDemo;
.super Ljava/lang/Object;
.method public constructor <init>()V
.locals 0
return-void
.end method
.method public static dataHandlingExample()V
.locals 4
const/16 v0, 0x1234
const/16 v1, 0x5678
const/16 v2, 0x9ABC
const/16 v3, 0xDEF0
sput-object v0, LSmaliDemo;->dataField:I
return-void
.end method
.method public static arithmeticAndLogicOperationsExample()V
.locals 4
const/4 v0, 5
const/4 v1, 3
add-int v2, v0, v1
sub-int v3, v0, v1
mul-int v0, v2, v3
div-int v1, v0, v2
return-void
.end method
.method public static controlFlowExample()V
.locals 1
const/4 v0, 0
if-eqz v0, :cond_0
goto :cond_1
:cond_0
const/4 v0, 1
goto :cond_2
:cond_1
const/4 v0, 2
goto :cond_2
:cond_2
return-void
.end method
.method public static highestDexVersionExample()V
.locals 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/16 v1, 0x1234
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "Hello"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
sput-object v1, LSmaliDemo;->stringField:Ljava/lang/String;
return-void
.end method
.field private static dataField:I
.field private static stringField:Ljava/lang/String;
|