Я использую ApkTool для дезассемблирования файлов DEX из APK для восстановления кода smali. Я заметил, что файл .java
был разбит на разные файлы.
Например:
- MainActivity.java -> MainActivity.smali, MainActivity$1.smali
- FirstFragment.java -> FirstFragment.smali, FirstFragment$1.smali, FirstFragment$2.smali
Есть ли причина, по которой это происходит?
У меня есть дополнительный вопрос в связи с этим: почему первые строки этих файлов имеют разное содержимое, если они ссылаются на один и тот же файл? Оба они ссылаются на исходный файл MainActivity.java, но имеют разные классы.
ОсновнаяАктивность$1.smali
.class Lcom/example/testapp/MainActivity$1;
.super Ljava/lang/Object;
.source "MainActivity.java"
ГлавнаяАктивность.smali
.class public Lcom/example/testapp/MainActivity;
.super Landroidx/appcompat/app/AppCompatActivity;
.source "MainActivity.java"