From 155a629c71c18a952866ce3356cec713d4ecd142 Mon Sep 17 00:00:00 2001 From: Miepee Date: Mon, 7 Nov 2022 15:27:22 +0100 Subject: [PATCH] make default framework detection on linux xdg-compliant On Linux, check first if $XDG_DATA_HOME is set, if not use path as it was before (~/.local/share/apktool) --- .../src/main/java/brut/androlib/res/AndrolibResources.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java index a4492dc4fd..9ed36078f3 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java @@ -974,7 +974,12 @@ public File getFrameworkDir() throws AndrolibException { } else if (OSDetection.isWindows()) { path = parentPath.getAbsolutePath() + String.format("%1$sAppData%1$sLocal%1$sapktool%1$sframework", File.separatorChar); } else { - path = parentPath.getAbsolutePath() + String.format("%1$s.local%1$sshare%1$sapktool%1$sframework", File.separatorChar); + String xdgDataFolder = System.getenv("XDG_DATA_HOME"); + if (xdgDataFolder != null) { + path = xdgDataFolder + String.format("%1$sapktool%1$sframework", File.separatorChar); + } else { + path = parentPath.getAbsolutePath() + String.format("%1$s.local%1$sshare%1$sapktool%1$sframework", File.separatorChar); + } } }