public final class com.android.commands.bu.Backup
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.android.commands.bu.Backup
super_class: java.lang.Object
{
static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "bu"
static java.lang.String[] mArgs;
descriptor: [Ljava/lang/String;
flags: (0x0008) ACC_STATIC
int mNextArg;
descriptor: I
flags: (0x0000)
android.app.backup.IBackupManager mBackupManager;
descriptor: Landroid/app/backup/IBackupManager;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/commands/bu/Backup;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: ldc "bu"
new java.lang.StringBuilder
dup
ldc "Beginning: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
1: aload 0
putstatic com.android.commands.bu.Backup.mArgs:[Ljava/lang/String;
2: new com.android.commands.bu.Backup
dup
invokespecial com.android.commands.bu.Backup.<init>:()V
invokevirtual com.android.commands.bu.Backup.run:()V
3: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
4: astore 1
start local 1 5: ldc "bu"
ldc "Error running backup/restore"
aload 1
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 1 6: StackMap locals:
StackMap stack:
ldc "bu"
ldc "Finished."
invokestatic android.util.Log.d:(Ljava/lang/String;Ljava/lang/String;)I
pop
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 args [Ljava/lang/String;
5 6 1 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
MethodParameters:
Name Flags
args
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tOsConstants cannot be resolved to a variable\n\tOsConstants cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/commands/bu/Backup;
private void doBackup(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=16, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: iconst_1
istore 8
start local 8 7: iconst_1
istore 9
start local 9 8: iconst_0
istore 10
start local 10 9: goto 59
start local 11 10: StackMap locals: com.android.commands.bu.Backup int java.util.ArrayList int int int int int int int int java.lang.String
StackMap stack:
aload 11
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 58
11: ldc "-apk"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: iconst_1
istore 3
13: goto 59
StackMap locals:
StackMap stack:
14: ldc "-noapk"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: iconst_0
istore 3
16: goto 59
StackMap locals:
StackMap stack:
17: ldc "-obb"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: iconst_1
istore 4
19: goto 59
StackMap locals:
StackMap stack:
20: ldc "-noobb"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: iconst_0
istore 4
22: goto 59
StackMap locals:
StackMap stack:
23: ldc "-shared"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: iconst_1
istore 5
25: goto 59
StackMap locals:
StackMap stack:
26: ldc "-noshared"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
27: iconst_0
istore 5
28: goto 59
StackMap locals:
StackMap stack:
29: ldc "-system"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
30: iconst_1
istore 8
31: goto 59
StackMap locals:
StackMap stack:
32: ldc "-nosystem"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
33: iconst_0
istore 8
34: goto 59
StackMap locals:
StackMap stack:
35: ldc "-widgets"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
36: iconst_1
istore 7
37: goto 59
StackMap locals:
StackMap stack:
38: ldc "-nowidgets"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
39: iconst_0
istore 7
40: goto 59
StackMap locals:
StackMap stack:
41: ldc "-all"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 44
42: iconst_1
istore 6
43: goto 59
StackMap locals:
StackMap stack:
44: ldc "-compress"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
45: iconst_1
istore 9
46: goto 59
StackMap locals:
StackMap stack:
47: ldc "-nocompress"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 50
48: iconst_0
istore 9
49: goto 59
StackMap locals:
StackMap stack:
50: ldc "-keyvalue"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 53
51: iconst_1
istore 10
52: goto 59
StackMap locals:
StackMap stack:
53: ldc "-nokeyvalue"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 56
54: iconst_0
istore 10
55: goto 59
56: StackMap locals:
StackMap stack:
ldc "bu"
new java.lang.StringBuilder
dup
ldc "Unknown backup flag "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
57: goto 59
58: StackMap locals:
StackMap stack:
aload 2
aload 11
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 11 59: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.commands.bu.Backup.nextArg:()Ljava/lang/String;
dup
astore 11
start local 11 60: ifnonnull 10
61: iload 6
ifeq 63
aload 2
invokevirtual java.util.ArrayList.size:()I
ifle 63
62: ldc "bu"
ldc "-all passed for backup along with specific package names"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
63: StackMap locals: java.lang.String
StackMap stack:
iload 6
ifne 66
iload 5
ifne 66
aload 2
invokevirtual java.util.ArrayList.size:()I
ifne 66
64: ldc "bu"
ldc "no backup packages supplied and neither -shared nor -all given"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
65: return
66: StackMap locals:
StackMap stack:
aconst_null
astore 12
start local 12 67: iload 1
invokestatic android.os.ParcelFileDescriptor.adoptFd:(I)Landroid/os/ParcelFileDescriptor;
astore 12
68: aload 2
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
astore 13
start local 13 69: aload 0
getfield com.android.commands.bu.Backup.mBackupManager:Landroid/app/backup/IBackupManager;
aload 12
iload 3
iload 4
iload 5
iload 7
iload 6
70: iload 8
iload 9
iload 10
aload 2
aload 13
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
71: invokeinterface android.app.backup.IBackupManager.adbBackup:(Landroid/os/ParcelFileDescriptor;ZZZZZZZZ[Ljava/lang/String;)V
end local 13 72: goto 88
StackMap locals: com.android.commands.bu.Backup int java.util.ArrayList int int int int int int int int java.lang.String android.os.ParcelFileDescriptor
StackMap stack: android.os.RemoteException
73: pop
74: ldc "bu"
ldc "Unable to invoke backup manager for backup"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
75: aload 12
ifnull 93
76: aload 12
invokevirtual android.os.ParcelFileDescriptor.close:()V
77: goto 93
StackMap locals:
StackMap stack: java.io.IOException
78: astore 15
start local 15 79: ldc "bu"
new java.lang.StringBuilder
dup
ldc "IO error closing output for backup: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 15 80: goto 93
81: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
82: aload 12
ifnull 87
83: aload 12
invokevirtual android.os.ParcelFileDescriptor.close:()V
84: goto 87
StackMap locals: com.android.commands.bu.Backup int java.util.ArrayList int int int int int int int int java.lang.String android.os.ParcelFileDescriptor top java.lang.Throwable
StackMap stack: java.io.IOException
85: astore 15
start local 15 86: ldc "bu"
new java.lang.StringBuilder
dup
ldc "IO error closing output for backup: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 15 87: StackMap locals:
StackMap stack:
aload 14
athrow
88: StackMap locals: com.android.commands.bu.Backup int java.util.ArrayList int int int int int int int int java.lang.String android.os.ParcelFileDescriptor
StackMap stack:
aload 12
ifnull 93
89: aload 12
invokevirtual android.os.ParcelFileDescriptor.close:()V
90: goto 93
StackMap locals:
StackMap stack: java.io.IOException
91: astore 15
start local 15 92: ldc "bu"
new java.lang.StringBuilder
dup
ldc "IO error closing output for backup: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 15 93: StackMap locals:
StackMap stack:
return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 94 0 this Lcom/android/commands/bu/Backup;
0 94 1 socketFd I
1 94 2 packages Ljava/util/ArrayList<Ljava/lang/String;>;
2 94 3 saveApks Z
3 94 4 saveObbs Z
4 94 5 saveShared Z
5 94 6 doEverything Z
6 94 7 doWidgets Z
7 94 8 allIncludesSystem Z
8 94 9 doCompress Z
9 94 10 doKeyValue Z
10 59 11 arg Ljava/lang/String;
60 94 11 arg Ljava/lang/String;
67 94 12 fd Landroid/os/ParcelFileDescriptor;
69 72 13 packArray [Ljava/lang/String;
79 80 15 e Ljava/io/IOException;
86 87 15 e Ljava/io/IOException;
92 93 15 e Ljava/io/IOException;
Exception table:
from to target type
67 72 73 Class android.os.RemoteException
76 77 78 Class java.io.IOException
67 75 81 any
83 84 85 Class java.io.IOException
89 90 91 Class java.io.IOException
MethodParameters:
Name Flags
socketFd
private void doRestore(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iload 1
invokestatic android.os.ParcelFileDescriptor.adoptFd:(I)Landroid/os/ParcelFileDescriptor;
astore 2
2: aload 0
getfield com.android.commands.bu.Backup.mBackupManager:Landroid/app/backup/IBackupManager;
aload 2
invokeinterface android.app.backup.IBackupManager.adbRestore:(Landroid/os/ParcelFileDescriptor;)V
3: goto 16
StackMap locals: com.android.commands.bu.Backup int android.os.ParcelFileDescriptor
StackMap stack: android.os.RemoteException
4: pop
5: ldc "bu"
ldc "Unable to invoke backup manager for restore"
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
6: aload 2
ifnull 20
7: aload 2
invokevirtual android.os.ParcelFileDescriptor.close:()V
8: goto 20
StackMap locals:
StackMap stack: java.io.IOException
9: pop
goto 20
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
11: aload 2
ifnull 15
12: aload 2
invokevirtual android.os.ParcelFileDescriptor.close:()V
13: goto 15
StackMap locals: com.android.commands.bu.Backup int android.os.ParcelFileDescriptor java.lang.Throwable
StackMap stack: java.io.IOException
14: pop
15: StackMap locals:
StackMap stack:
aload 3
athrow
16: StackMap locals:
StackMap stack:
aload 2
ifnull 20
17: aload 2
invokevirtual android.os.ParcelFileDescriptor.close:()V
18: goto 20
StackMap locals:
StackMap stack: java.io.IOException
19: pop
20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/android/commands/bu/Backup;
0 21 1 socketFd I
1 21 2 fd Landroid/os/ParcelFileDescriptor;
Exception table:
from to target type
1 3 4 Class android.os.RemoteException
7 8 9 Class java.io.IOException
1 6 10 any
12 13 14 Class java.io.IOException
17 18 19 Class java.io.IOException
MethodParameters:
Name Flags
socketFd
private static void showUsage();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " backup [-f FILE] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " [-system|-nosystem] [-keyvalue|-nokeyvalue] [PACKAGE...]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " write an archive of the device's data to FILE [default=backup.adb]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " package list optional if -all/-shared are supplied"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " -apk/-noapk: do/don't back up .apk files (default -noapk)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " -obb/-noobb: do/don't back up .obb files (default -noobb)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " -shared|-noshared: do/don't back up shared storage (default -noshared)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " -all: back up all installed applications"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " -system|-nosystem: include system apps in -all (default -system)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " -keyvalue|-nokeyvalue: include apps that perform key/value backups."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " (default -nokeyvalue)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " restore FILE restore device contents from FILE"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: return
LocalVariableTable:
Start End Slot Name Signature
private java.lang.String nextArg();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.android.commands.bu.Backup.mNextArg:I
getstatic com.android.commands.bu.Backup.mArgs:[Ljava/lang/String;
arraylength
if_icmplt 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
getstatic com.android.commands.bu.Backup.mArgs:[Ljava/lang/String;
aload 0
getfield com.android.commands.bu.Backup.mNextArg:I
aaload
astore 1
start local 1 3: aload 0
dup
getfield com.android.commands.bu.Backup.mNextArg:I
iconst_1
iadd
putfield com.android.commands.bu.Backup.mNextArg:I
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/android/commands/bu/Backup;
3 5 1 arg Ljava/lang/String;
}
SourceFile: "Backup.java"