MultiDexForTinker.smali
.class public Lcom/wrapper/proxyapplication/MultiDexForTinker;
.super Ljava/lang/Object;
.source "MultiDexForTinker.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/wrapper/proxyapplication/MultiDexForTinker$V4;,
Lcom/wrapper/proxyapplication/MultiDexForTinker$V19;
}
.end annotation
# static fields
.field static final TAG:Ljava/lang/String; = "MultiDexForTinker"
.field static dexElementsSuppressedExceptions:[Ljava/io/IOException;
.field static hasInjected:I
.field static injectDexBeginIndex:I
.field static injectDexsObj:[Ljava/lang/Object;
.field static injectFilesObj:[Ljava/lang/Object;
.field static injectPathListObj:[Ljava/lang/Object;
.field static injectPathsObj:[Ljava/lang/Object;
.field static injectZipsObj:[Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method private constructor <init>()V
.registers 1
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method static synthetic access$400(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;
}
.end annotation
.line 19
invoke-static {p0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p0
return-object p0
.end method
.method static synthetic access$500(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.line 19
invoke-static {p0, p1, p2}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->expandFieldArray(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method static synthetic access$600(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;I)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.line 19
invoke-static {p0, p1, p2, p3}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->expandFieldArray(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;I)V
return-void
.end method
.method static synthetic access$700(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
.line 19
invoke-static {p0, p1, p2}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object p0
return-object p0
.end method
.method static synthetic access$800(Ljava/lang/String;)Ljava/lang/String;
.registers 1
.line 19
invoke-static {p0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->getprefixname(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static expandFieldArray(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.line 618
invoke-static {p0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p1
.line 619
invoke-virtual {p1, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
check-cast v0, [Ljava/lang/Object;
.line 621
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object v1
array-length v2, v0
array-length v3, p2
add-int/2addr v2, v3
invoke-static {v1, v2}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v1
check-cast v1, [Ljava/lang/Object;
check-cast v1, [Ljava/lang/Object;
.line 623
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v3, 0x0
const/16 v4, 0x1c
if-ne v2, v4, :cond_43
sget v2, Lcom/wrapper/proxyapplication/MultiDexForTinker;->hasInjected:I
if-nez v2, :cond_43
array-length v2, v0
const/4 v4, 0x1
if-le v2, v4, :cond_43
.line 624
array-length v2, v0
sub-int/2addr v2, v4
invoke-static {v0, v3, v1, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 625
array-length v2, v0
sub-int/2addr v2, v4
array-length v5, p2
invoke-static {p2, v3, v1, v2, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 626
array-length v2, v0
sub-int/2addr v2, v4
array-length p2, p2
array-length v3, v0
add-int/2addr p2, v3
sub-int/2addr p2, v4
invoke-static {v0, v2, v1, p2, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_4c
.line 628
:cond_43
array-length v2, p2
invoke-static {p2, v3, v1, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 629
array-length p2, p2
array-length v2, v0
invoke-static {v0, v3, v1, p2, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 631
:goto_4c
invoke-virtual {p1, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
.method private static expandFieldArray(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;I)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.line 636
invoke-static {p0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
const-string p0, "dexElements"
.line 638
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
const/4 v0, 0x0
if-eqz p0, :cond_16
.line 639
sget-object p0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectPathListObj:[Ljava/lang/Object;
sget p1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexBeginIndex:I
add-int/2addr p1, p3
array-length p3, p2
invoke-static {p2, v0, p0, p1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_5d
:cond_16
const-string p0, "mPaths"
.line 640
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_28
.line 641
sget-object p0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectPathsObj:[Ljava/lang/Object;
sget p1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexBeginIndex:I
add-int/2addr p1, p3
array-length p3, p2
invoke-static {p2, v0, p0, p1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_5d
:cond_28
const-string p0, "mFiles"
.line 642
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_3a
.line 643
sget-object p0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectFilesObj:[Ljava/lang/Object;
sget p1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexBeginIndex:I
add-int/2addr p1, p3
array-length p3, p2
invoke-static {p2, v0, p0, p1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_5d
:cond_3a
const-string p0, "mDexs"
.line 644
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_4c
.line 645
sget-object p0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexsObj:[Ljava/lang/Object;
sget p1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexBeginIndex:I
add-int/2addr p1, p3
array-length p3, p2
invoke-static {p2, v0, p0, p1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_5d
:cond_4c
const-string p0, "mZips"
.line 646
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_5d
.line 647
sget-object p0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectZipsObj:[Ljava/lang/Object;
sget p1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexBeginIndex:I
add-int/2addr p1, p3
array-length p3, p2
invoke-static {p2, v0, p0, p1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:cond_5d
:goto_5d
return-void
.end method
.method private static findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;
}
.end annotation
.line 540
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
:goto_4
if-eqz v0, :cond_1a
.line 542
:try_start_6
invoke-virtual {v0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
.line 544
invoke-virtual {v1}, Ljava/lang/reflect/Field;->isAccessible()Z
move-result v2
if-nez v2, :cond_14
const/4 v2, 0x1
.line 545
invoke-virtual {v1, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
:try_end_14
.catch Ljava/lang/NoSuchFieldException; {:try_start_6 .. :try_end_14} :catch_15
:cond_14
return-object v1
.line 540
:catch_15
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
goto :goto_4
.line 554
:cond_1a
new-instance v0, Ljava/lang/NoSuchFieldException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Field "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " not found in "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/NoSuchFieldException;-><init>(Ljava/lang/String;)V
goto :goto_3e
:goto_3d
throw v0
:goto_3e
goto :goto_3d
.end method
.method private static varargs findMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/reflect/Method;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
.line 588
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
:goto_4
if-eqz v0, :cond_1a
.line 590
:try_start_6
invoke-virtual {v0, p1, p2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
.line 592
invoke-virtual {v1}, Ljava/lang/reflect/Method;->isAccessible()Z
move-result v2
if-nez v2, :cond_14
const/4 v2, 0x1
.line 593
invoke-virtual {v1, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_14
.catch Ljava/lang/NoSuchMethodException; {:try_start_6 .. :try_end_14} :catch_15
:cond_14
return-object v1
.line 588
:catch_15
invoke-virtual {v0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object v0
goto :goto_4
.line 602
:cond_1a
new-instance v0, Ljava/lang/NoSuchMethodException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Method "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " with parameters "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, " not found in "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 603
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/NoSuchMethodException;-><init>(Ljava/lang/String;)V
goto :goto_4a
:goto_49
throw v0
:goto_4a
goto :goto_49
.end method
.method private static varargs findMethodinClazz(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Class<",
"*>;)",
"Ljava/lang/reflect/Method;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
:goto_0
if-eqz p0, :cond_16
.line 561
:try_start_2
invoke-virtual {p0, p1, p2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
.line 563
invoke-virtual {v0}, Ljava/lang/reflect/Method;->isAccessible()Z
move-result v1
if-nez v1, :cond_10
const/4 v1, 0x1
.line 564
invoke-virtual {v0, v1}, Ljava/lang/reflect/Method;->setAccessible(Z)V
:try_end_10
.catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_10} :catch_11
:cond_10
return-object v0
.line 559
:catch_11
invoke-virtual {p0}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p0
goto :goto_0
.line 573
:cond_16
new-instance v0, Ljava/lang/NoSuchMethodException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Method "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " with parameters "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 574
invoke-static {p2}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, " not found in "
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/NoSuchMethodException;-><init>(Ljava/lang/String;)V
goto :goto_42
:goto_41
throw v0
:goto_42
goto :goto_41
.end method
.method private static finishinstallDexes(Ljava/lang/ClassLoader;)V
.registers 4
:try_start_0
const-string v0, "pathList"
.line 472
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
:try_end_6
.catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_6} :catch_2f
.line 474
:try_start_6
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const-string v1, "dexElements"
.line 475
invoke-static {v0, v1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
.line 477
sget-object v2, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectPathListObj:[Ljava/lang/Object;
invoke-virtual {v1, v0, v2}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 478
sget-object v1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->dexElementsSuppressedExceptions:[Ljava/io/IOException;
if-eqz v1, :cond_6f
const-string v1, "dexElementsSuppressedExceptions"
.line 479
invoke-static {v0, v1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
.line 480
sget-object v2, Lcom/wrapper/proxyapplication/MultiDexForTinker;->dexElementsSuppressedExceptions:[Ljava/io/IOException;
invoke-virtual {v1, v0, v2}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_24
.catch Ljava/lang/IllegalArgumentException; {:try_start_6 .. :try_end_24} :catch_2a
.catch Ljava/lang/IllegalAccessException; {:try_start_6 .. :try_end_24} :catch_25
.catch Ljava/lang/NoSuchFieldException; {:try_start_6 .. :try_end_24} :catch_2f
goto :goto_6f
:catch_25
move-exception v0
.line 488
:try_start_26
invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_6f
:catch_2a
move-exception v0
.line 485
invoke-virtual {v0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_2e
.catch Ljava/lang/NoSuchFieldException; {:try_start_26 .. :try_end_2e} :catch_2f
goto :goto_6f
:catch_2f
:try_start_2f
const-string v0, "path"
.line 495
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
:try_end_35
.catch Ljava/lang/NoSuchFieldException; {:try_start_2f .. :try_end_35} :catch_6f
.line 497
:try_start_35
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
const-string v0, "mPaths"
.line 498
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 500
sget-object v1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectPathsObj:[Ljava/lang/Object;
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
const-string v0, "mFiles"
.line 502
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 504
sget-object v1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectFilesObj:[Ljava/lang/Object;
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
const-string v0, "mZips"
.line 506
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 508
sget-object v1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectZipsObj:[Ljava/lang/Object;
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
const-string v0, "mDexs"
.line 510
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 512
sget-object v1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexsObj:[Ljava/lang/Object;
invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_65
.catch Ljava/lang/IllegalArgumentException; {:try_start_35 .. :try_end_65} :catch_6b
.catch Ljava/lang/IllegalAccessException; {:try_start_35 .. :try_end_65} :catch_66
.catch Ljava/lang/NoSuchFieldException; {:try_start_35 .. :try_end_65} :catch_6f
goto :goto_6f
:catch_66
move-exception p0
.line 519
:try_start_67
invoke-virtual {p0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_6f
:catch_6b
move-exception p0
.line 516
invoke-virtual {p0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_6f
.catch Ljava/lang/NoSuchFieldException; {:try_start_67 .. :try_end_6f} :catch_6f
:catch_6f
:cond_6f
:goto_6f
return-void
.end method
.method private static getprefixname(Ljava/lang/String;)Ljava/lang/String;
.registers 3
const-string v0, "/"
.line 229
invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result v0
if-ltz v0, :cond_e
add-int/lit8 v0, v0, 0x1
.line 232
invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
:cond_e
const-string v0, "."
.line 239
invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result v0
if-ltz v0, :cond_1b
const/4 v1, 0x0
.line 242
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
:cond_1b
return-object p0
.end method
.method private static installDexes(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/util/ArrayList;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ClassLoader;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")",
"Ljava/util/ArrayList<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 308
invoke-static {p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->splitPaths(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object p1
.line 309
new-instance v0, Ljava/io/File;
invoke-direct {v0, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:try_start_9
const-string p2, "pathList"
.line 311
invoke-static {p0, p2}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p2
:try_end_f
.catch Ljava/lang/NoSuchFieldException; {:try_start_9 .. :try_end_f} :catch_30
.line 314
:try_start_f
# invokes: Lcom/wrapper/proxyapplication/MultiDexForTinker$V19;->install(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;)Ljava/util/ArrayList;
invoke-static {p0, p2, p1, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker$V19;->access$000(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;)Ljava/util/ArrayList;
move-result-object p0
:try_end_13
.catch Ljava/lang/IllegalArgumentException; {:try_start_f .. :try_end_13} :catch_2b
.catch Ljava/lang/IllegalAccessException; {:try_start_f .. :try_end_13} :catch_26
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_f .. :try_end_13} :catch_21
.catch Ljava/lang/NoSuchMethodException; {:try_start_f .. :try_end_13} :catch_1c
.catch Ljava/io/IOException; {:try_start_f .. :try_end_13} :catch_14
.catch Ljava/lang/NoSuchFieldException; {:try_start_f .. :try_end_13} :catch_30
return-object p0
.line 331
:catch_14
:try_start_14
new-instance p2, Ljava/io/IOException;
const-string v1, "v19,load dex fail"
invoke-direct {p2, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p2
:catch_1c
move-exception p2
.line 327
invoke-virtual {p2}, Ljava/lang/NoSuchMethodException;->printStackTrace()V
goto :goto_54
:catch_21
move-exception p2
.line 324
invoke-virtual {p2}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V
goto :goto_54
:catch_26
move-exception p2
.line 321
invoke-virtual {p2}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_54
:catch_2b
move-exception p2
.line 318
invoke-virtual {p2}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_2f
.catch Ljava/lang/NoSuchFieldException; {:try_start_14 .. :try_end_2f} :catch_30
goto :goto_54
:catch_30
:try_start_30
const-string p2, "path"
.line 338
invoke-static {p0, p2}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p2
:try_end_36
.catch Ljava/lang/NoSuchFieldException; {:try_start_30 .. :try_end_36} :catch_4d
.line 340
:try_start_36
# invokes: Lcom/wrapper/proxyapplication/MultiDexForTinker$V4;->install(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;)Ljava/util/ArrayList;
invoke-static {p0, p2, p1, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker$V4;->access$100(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;)Ljava/util/ArrayList;
move-result-object p0
:try_end_3a
.catch Ljava/lang/IllegalArgumentException; {:try_start_36 .. :try_end_3a} :catch_48
.catch Ljava/lang/IllegalAccessException; {:try_start_36 .. :try_end_3a} :catch_43
.catch Ljava/io/IOException; {:try_start_36 .. :try_end_3a} :catch_3b
.catch Ljava/lang/NoSuchFieldException; {:try_start_36 .. :try_end_3a} :catch_4d
return-object p0
.line 351
:catch_3b
:try_start_3b
new-instance p0, Ljava/io/IOException;
const-string p1, "v4, load dex fail"
invoke-direct {p0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p0
:catch_43
move-exception p0
.line 347
invoke-virtual {p0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_54
:catch_48
move-exception p0
.line 344
invoke-virtual {p0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_4c
.catch Ljava/lang/NoSuchFieldException; {:try_start_3b .. :try_end_4c} :catch_4d
goto :goto_54
:catch_4d
const-string p0, "MultiDexForTinker"
const-string p1, "Strange!no pathlist&path,a new or modified android version "
.line 355
invoke-static {p0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:goto_54
const/4 p0, 0x0
return-object p0
.end method
.method private static installDexes(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;I)Ljava/util/ArrayList;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ClassLoader;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"I)",
"Ljava/util/ArrayList<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 367
invoke-static {p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->splitPaths(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object p1
.line 368
new-instance v0, Ljava/io/File;
invoke-direct {v0, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:try_start_9
const-string p2, "pathList"
.line 370
invoke-static {p0, p2}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p2
:try_end_f
.catch Ljava/lang/NoSuchFieldException; {:try_start_9 .. :try_end_f} :catch_30
.line 373
:try_start_f
# invokes: Lcom/wrapper/proxyapplication/MultiDexForTinker$V19;->install(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;I)Ljava/util/ArrayList;
invoke-static {p0, p2, p1, v0, p3}, Lcom/wrapper/proxyapplication/MultiDexForTinker$V19;->access$200(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;I)Ljava/util/ArrayList;
move-result-object p0
:try_end_13
.catch Ljava/lang/IllegalArgumentException; {:try_start_f .. :try_end_13} :catch_2b
.catch Ljava/lang/IllegalAccessException; {:try_start_f .. :try_end_13} :catch_26
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_f .. :try_end_13} :catch_21
.catch Ljava/lang/NoSuchMethodException; {:try_start_f .. :try_end_13} :catch_1c
.catch Ljava/io/IOException; {:try_start_f .. :try_end_13} :catch_14
.catch Ljava/lang/NoSuchFieldException; {:try_start_f .. :try_end_13} :catch_30
return-object p0
.line 390
:catch_14
:try_start_14
new-instance p2, Ljava/io/IOException;
const-string v1, "v19,load dex fail"
invoke-direct {p2, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p2
:catch_1c
move-exception p2
.line 386
invoke-virtual {p2}, Ljava/lang/NoSuchMethodException;->printStackTrace()V
goto :goto_54
:catch_21
move-exception p2
.line 383
invoke-virtual {p2}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V
goto :goto_54
:catch_26
move-exception p2
.line 380
invoke-virtual {p2}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_54
:catch_2b
move-exception p2
.line 377
invoke-virtual {p2}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_2f
.catch Ljava/lang/NoSuchFieldException; {:try_start_14 .. :try_end_2f} :catch_30
goto :goto_54
:catch_30
:try_start_30
const-string p2, "path"
.line 397
invoke-static {p0, p2}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p2
:try_end_36
.catch Ljava/lang/NoSuchFieldException; {:try_start_30 .. :try_end_36} :catch_4d
.line 399
:try_start_36
# invokes: Lcom/wrapper/proxyapplication/MultiDexForTinker$V4;->install(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;I)Ljava/util/ArrayList;
invoke-static {p0, p2, p1, v0, p3}, Lcom/wrapper/proxyapplication/MultiDexForTinker$V4;->access$300(Ljava/lang/ClassLoader;Ljava/lang/reflect/Field;Ljava/util/List;Ljava/io/File;I)Ljava/util/ArrayList;
move-result-object p0
:try_end_3a
.catch Ljava/lang/IllegalArgumentException; {:try_start_36 .. :try_end_3a} :catch_48
.catch Ljava/lang/IllegalAccessException; {:try_start_36 .. :try_end_3a} :catch_43
.catch Ljava/io/IOException; {:try_start_36 .. :try_end_3a} :catch_3b
.catch Ljava/lang/NoSuchFieldException; {:try_start_36 .. :try_end_3a} :catch_4d
return-object p0
.line 410
:catch_3b
:try_start_3b
new-instance p0, Ljava/io/IOException;
const-string p1, "v4, load dex fail"
invoke-direct {p0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p0
:catch_43
move-exception p0
.line 406
invoke-virtual {p0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_54
:catch_48
move-exception p0
.line 403
invoke-virtual {p0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_4c
.catch Ljava/lang/NoSuchFieldException; {:try_start_3b .. :try_end_4c} :catch_4d
goto :goto_54
:catch_4d
const-string p0, "MultiDexForTinker"
const-string p1, "Strange!no pathlist&path,a new or modified android version "
.line 414
invoke-static {p0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:goto_54
const/4 p0, 0x0
return-object p0
.end method
.method private static openallDexes(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/util/ArrayList;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ClassLoader;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")",
"Ljava/util/ArrayList<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 254
invoke-static {p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->splitPaths(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object p1
.line 255
new-instance v0, Ljava/io/File;
invoke-direct {v0, p2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
const/4 p2, 0x0
:try_start_a
const-string v1, "pathList"
.line 260
invoke-static {p0, v1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
:try_end_10
.catch Ljava/lang/NoSuchFieldException; {:try_start_a .. :try_end_10} :catch_6d
.line 262
:try_start_10
invoke-virtual {v1, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
:try_end_14
.catch Ljava/lang/IllegalAccessException; {:try_start_10 .. :try_end_14} :catch_68
.catch Ljava/lang/IllegalArgumentException; {:try_start_10 .. :try_end_14} :catch_63
.catch Ljava/lang/NoSuchFieldException; {:try_start_10 .. :try_end_14} :catch_6d
:try_start_14
const-string v1, "loadDexFile"
const/4 v2, 0x2
new-array v3, v2, [Ljava/lang/Class;
.line 264
const-class v4, Ljava/io/File;
const/4 v5, 0x0
aput-object v4, v3, v5
const-class v4, Ljava/io/File;
const/4 v6, 0x1
aput-object v4, v3, v6
invoke-static {p0, v1, v3}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
:try_end_27
.catch Ljava/lang/NoSuchMethodException; {:try_start_14 .. :try_end_27} :catch_5e
.catch Ljava/lang/IllegalAccessException; {:try_start_14 .. :try_end_27} :catch_68
.catch Ljava/lang/IllegalArgumentException; {:try_start_14 .. :try_end_27} :catch_63
.catch Ljava/lang/NoSuchFieldException; {:try_start_14 .. :try_end_27} :catch_6d
.line 266
:try_start_27
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
:try_end_2c
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_27 .. :try_end_2c} :catch_59
.catch Ljava/lang/NoSuchMethodException; {:try_start_27 .. :try_end_2c} :catch_5e
.catch Ljava/lang/IllegalAccessException; {:try_start_27 .. :try_end_2c} :catch_68
.catch Ljava/lang/IllegalArgumentException; {:try_start_27 .. :try_end_2c} :catch_63
.catch Ljava/lang/NoSuchFieldException; {:try_start_27 .. :try_end_2c} :catch_6d
.line 268
:try_start_2c
invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object p1
.line 270
:goto_30
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_48
new-array p2, v2, [Ljava/lang/Object;
.line 272
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
aput-object v4, p2, v5
aput-object v0, p2, v6
invoke-virtual {v1, p0, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 273
invoke-virtual {v3, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_47
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_2c .. :try_end_47} :catch_56
.catch Ljava/lang/NoSuchMethodException; {:try_start_2c .. :try_end_47} :catch_53
.catch Ljava/lang/IllegalAccessException; {:try_start_2c .. :try_end_47} :catch_50
.catch Ljava/lang/IllegalArgumentException; {:try_start_2c .. :try_end_47} :catch_4d
.catch Ljava/lang/NoSuchFieldException; {:try_start_2c .. :try_end_47} :catch_4a
goto :goto_30
:cond_48
move-object p2, v3
goto :goto_71
:catch_4a
move-exception p0
move-object p2, v3
goto :goto_6e
:catch_4d
move-exception p0
move-object p2, v3
goto :goto_64
:catch_50
move-exception p0
move-object p2, v3
goto :goto_69
:catch_53
move-exception p0
move-object p2, v3
goto :goto_5f
:catch_56
move-exception p0
move-object p2, v3
goto :goto_5a
:catch_59
move-exception p0
.line 281
:goto_5a
:try_start_5a
invoke-virtual {p0}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V
:try_end_5d
.catch Ljava/lang/NoSuchMethodException; {:try_start_5a .. :try_end_5d} :catch_5e
.catch Ljava/lang/IllegalAccessException; {:try_start_5a .. :try_end_5d} :catch_68
.catch Ljava/lang/IllegalArgumentException; {:try_start_5a .. :try_end_5d} :catch_63
.catch Ljava/lang/NoSuchFieldException; {:try_start_5a .. :try_end_5d} :catch_6d
goto :goto_71
:catch_5e
move-exception p0
.line 286
:goto_5f
:try_start_5f
invoke-virtual {p0}, Ljava/lang/NoSuchMethodException;->printStackTrace()V
:try_end_62
.catch Ljava/lang/IllegalAccessException; {:try_start_5f .. :try_end_62} :catch_68
.catch Ljava/lang/IllegalArgumentException; {:try_start_5f .. :try_end_62} :catch_63
.catch Ljava/lang/NoSuchFieldException; {:try_start_5f .. :try_end_62} :catch_6d
goto :goto_71
:catch_63
move-exception p0
.line 293
:goto_64
:try_start_64
invoke-virtual {p0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
goto :goto_71
:catch_68
move-exception p0
.line 290
:goto_69
invoke-virtual {p0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
:try_end_6c
.catch Ljava/lang/NoSuchFieldException; {:try_start_64 .. :try_end_6c} :catch_6d
goto :goto_71
:catch_6d
move-exception p0
.line 298
:goto_6e
invoke-virtual {p0}, Ljava/lang/NoSuchFieldException;->printStackTrace()V
:goto_71
return-object p2
.end method
.method private static prepareexpandFieldArray(Ljava/lang/Object;Ljava/lang/String;I)V
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchFieldException;,
Ljava/lang/IllegalArgumentException;,
Ljava/lang/IllegalAccessException;
}
.end annotation
.line 653
invoke-static {p0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
.line 654
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, [Ljava/lang/Object;
check-cast p0, [Ljava/lang/Object;
.line 656
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object v0
array-length v1, p0
add-int/2addr v1, p2
invoke-static {v0, v1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/Object;
check-cast v0, [Ljava/lang/Object;
.line 658
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v2, 0x0
const/16 v3, 0x1c
if-ne v1, v3, :cond_3f
sget v1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->hasInjected:I
if-nez v1, :cond_3f
array-length v1, p0
const/4 v3, 0x1
if-le v1, v3, :cond_3f
.line 659
array-length v1, p0
sub-int/2addr v1, v3
invoke-static {p0, v2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 660
array-length v1, p0
sub-int/2addr v1, v3
sput v1, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexBeginIndex:I
.line 663
array-length v1, p0
sub-int/2addr v1, v3
array-length v2, p0
add-int/2addr p2, v2
sub-int/2addr p2, v3
invoke-static {p0, v1, v0, p2, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_43
.line 666
:cond_3f
array-length v1, p0
invoke-static {p0, v2, v0, p2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:goto_43
const-string p0, "dexElements"
.line 669
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_4e
.line 670
sput-object v0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectPathListObj:[Ljava/lang/Object;
goto :goto_79
:cond_4e
const-string p0, "mPaths"
.line 671
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_59
.line 672
sput-object v0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectPathsObj:[Ljava/lang/Object;
goto :goto_79
:cond_59
const-string p0, "mFiles"
.line 673
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_64
.line 674
sput-object v0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectFilesObj:[Ljava/lang/Object;
goto :goto_79
:cond_64
const-string p0, "mZips"
.line 675
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_6f
.line 676
sput-object v0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectZipsObj:[Ljava/lang/Object;
goto :goto_79
:cond_6f
const-string p0, "mDexs"
.line 677
invoke-virtual {p1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_79
.line 678
sput-object v0, Lcom/wrapper/proxyapplication/MultiDexForTinker;->injectDexsObj:[Ljava/lang/Object;
:cond_79
:goto_79
return-void
.end method
.method private static preparetoinstallDexes(Ljava/lang/ClassLoader;I)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
const-string v0, "pathList"
.line 426
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
:try_end_6
.catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_6} :catch_1a
.line 428
:try_start_6
invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const-string v1, "dexElements"
.line 429
invoke-static {v0, v1, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->prepareexpandFieldArray(Ljava/lang/Object;Ljava/lang/String;I)V
:try_end_f
.catch Ljava/lang/IllegalArgumentException; {:try_start_6 .. :try_end_f} :catch_15
.catch Ljava/lang/IllegalAccessException; {:try_start_6 .. :try_end_f} :catch_10
.catch Ljava/lang/NoSuchFieldException; {:try_start_6 .. :try_end_f} :catch_1a
goto :goto_45
:catch_10
move-exception v0
.line 436
:try_start_11
invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_45
:catch_15
move-exception v0
.line 433
invoke-virtual {v0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_19
.catch Ljava/lang/NoSuchFieldException; {:try_start_11 .. :try_end_19} :catch_1a
goto :goto_45
:catch_1a
:try_start_1a
const-string v0, "path"
.line 443
invoke-static {p0, v0}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->findField(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;
:try_end_1f
.catch Ljava/lang/NoSuchFieldException; {:try_start_1a .. :try_end_1f} :catch_3e
:try_start_1f
const-string v0, "mPaths"
.line 445
invoke-static {p0, v0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->prepareexpandFieldArray(Ljava/lang/Object;Ljava/lang/String;I)V
const-string v0, "mFiles"
.line 446
invoke-static {p0, v0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->prepareexpandFieldArray(Ljava/lang/Object;Ljava/lang/String;I)V
const-string v0, "mZips"
.line 447
invoke-static {p0, v0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->prepareexpandFieldArray(Ljava/lang/Object;Ljava/lang/String;I)V
const-string v0, "mDexs"
.line 448
invoke-static {p0, v0, p1}, Lcom/wrapper/proxyapplication/MultiDexForTinker;->prepareexpandFieldArray(Ljava/lang/Object;Ljava/lang/String;I)V
:try_end_33
.catch Ljava/lang/IllegalArgumentException; {:try_start_1f .. :try_end_33} :catch_39
.catch Ljava/lang/IllegalAccessException; {:try_start_1f .. :try_end_33} :catch_34
.catch Ljava/lang/NoSuchFieldException; {:try_start_1f .. :try_end_33} :catch_3e
return-void
:catch_34
move-exception p0
.line 456
:try_start_35
invoke-virtual {p0}, Ljava/lang/IllegalAccessException;->printStackTrace()V
goto :goto_45
:catch_39
move-exception p0
.line 453
invoke-virtual {p0}, Ljava/lang/IllegalArgumentException;->printStackTrace()V
:try_end_3d
.catch Ljava/lang/NoSuchFieldException; {:try_start_35 .. :try_end_3d} :catch_3e
goto :goto_45
:catch_3e
const-string p0, "MultiDexForTinker"
const-string p1, "Strange!no pathlist&path,a new or modified android version "
.line 460
invoke-static {p0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:goto_45
return-void
.end method
.method private static splitPaths(Ljava/lang/String;)Ljava/util/ArrayList;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/ArrayList<",
"Ljava/io/File;",
">;"
}
.end annotation
.line 211
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
if-eqz p0, :cond_1e
.line 214
sget-object v1, Ljava/io/File;->pathSeparator:Ljava/lang/String;
invoke-virtual {p0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
array-length v1, p0
const/4 v2, 0x0
:goto_f
if-ge v2, v1, :cond_1e
aget-object v3, p0, v2
.line 216
new-instance v4, Ljava/io/File;
invoke-direct {v4, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x1
goto :goto_f
:cond_1e
return-object v0
.end method