diff --git a/jadx-cli/src/test/java/jadx/cli/TestInput.java b/jadx-cli/src/test/java/jadx/cli/TestInput.java index 6b96c2081..a02d73112 100644 --- a/jadx-cli/src/test/java/jadx/cli/TestInput.java +++ b/jadx-cli/src/test/java/jadx/cli/TestInput.java @@ -73,4 +73,12 @@ public class TestInput extends BaseCliIntegrationTest { path -> path.getFileName().toString().equalsIgnoreCase("AndroidManifest.xml")); assertThat(files).isNotEmpty(); } + + @Test + public void testNoRenameForDefPkg() throws Exception { + int result = execJadxCli(buildArgs(List.of("--rename-flags", "none"), "samples/defpkg.smali")); + assertThat(result).isEqualTo(0); + List files = collectJavaFilesInDir(outputDir); + assertThat(files).hasSize(1); + } } diff --git a/jadx-cli/src/test/resources/samples/defpkg.smali b/jadx-cli/src/test/resources/samples/defpkg.smali new file mode 100644 index 000000000..20ee4595f --- /dev/null +++ b/jadx-cli/src/test/resources/samples/defpkg.smali @@ -0,0 +1,2 @@ +.class public LA; +.super Ljava/lang/Object; diff --git a/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java b/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java index d2122b4bb..acf8c6f0e 100644 --- a/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java +++ b/jadx-core/src/main/java/jadx/core/dex/info/ClassInfo.java @@ -214,9 +214,12 @@ public final class ClassInfo implements Comparable { } public String getAliasFullPath() { - return getAliasPkg().replace('.', File.separatorChar) - + File.separatorChar - + getAliasNameWithoutPackage().replace('.', '_'); + String fileName = getAliasNameWithoutPackage().replace('.', '_'); + String aliasPkg = getAliasPkg(); + if (aliasPkg.isEmpty()) { + return fileName; + } + return aliasPkg.replace('.', File.separatorChar) + File.separatorChar + fileName; } public String getFullName() {