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 1088cd66..12f861c9 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 @@ -677,7 +677,7 @@ final public class AndrolibResources { } } - private File getFrameworkDir() throws AndrolibException { + public File getFrameworkDir() throws AndrolibException { if (mFrameworkDirectory != null) { return mFrameworkDirectory; } diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/AndResGuardTest.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/AndResGuardTest.java index 2b1f1452..e8d2e0d3 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/AndResGuardTest.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/AndResGuardTest.java @@ -30,6 +30,7 @@ public class AndResGuardTest { @BeforeClass public static void beforeClass() throws Exception, BrutException { + TestUtils.cleanFrameworkFile(); sTmpDir = new ExtFile(OS.createTempDirectory()); TestUtils.copyResourceDir(LargeIntsInManifestTest.class, "brut/apktool/issue1170/", sTmpDir); } diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeJarTest.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeJarTest.java index d29f0db0..4ca0146e 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeJarTest.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeJarTest.java @@ -34,6 +34,7 @@ public class BuildAndDecodeJarTest { @BeforeClass public static void beforeClass() throws Exception, BrutException { + TestUtils.cleanFrameworkFile(); sTmpDir = new ExtFile(OS.createTempDirectory()); sTestOrigDir = new ExtFile(sTmpDir, "testjar-orig"); sTestNewDir = new ExtFile(sTmpDir, "testjar-new"); diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java index 07917fdc..2ce38db5 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java @@ -41,6 +41,8 @@ public class BuildAndDecodeTest { @BeforeClass public static void beforeClass() throws Exception, BrutException { + TestUtils.cleanFrameworkFile(); + sTmpDir = new ExtFile(OS.createTempDirectory()); sTestOrigDir = new ExtFile(sTmpDir, "testapp-orig"); sTestNewDir = new ExtFile(sTmpDir, "testapp-new"); diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/LargeIntsInManifestTest.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/LargeIntsInManifestTest.java index 0165524f..f8635315 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/LargeIntsInManifestTest.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/LargeIntsInManifestTest.java @@ -36,6 +36,7 @@ public class LargeIntsInManifestTest { @BeforeClass public static void beforeClass() throws Exception, BrutException { + TestUtils.cleanFrameworkFile(); sTmpDir = new ExtFile(OS.createTempDirectory()); TestUtils.copyResourceDir(LargeIntsInManifestTest.class, "brut/apktool/issue767/", sTmpDir); } diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/ProviderAttributeTest.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/ProviderAttributeTest.java index 364338ea..d8eb7ec8 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/ProviderAttributeTest.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/ProviderAttributeTest.java @@ -36,6 +36,7 @@ public class ProviderAttributeTest { @BeforeClass public static void beforeClass() throws BrutException { + TestUtils.cleanFrameworkFile(); sTmpDir = new ExtFile(OS.createTempDirectory()); TestUtils.copyResourceDir(ProviderAttributeTest.class, "brut/apktool/issue636/", sTmpDir); } diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/SharedLibraryTest.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/SharedLibraryTest.java index 2006a2d3..ae35d255 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/SharedLibraryTest.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/SharedLibraryTest.java @@ -35,6 +35,7 @@ public class SharedLibraryTest { @BeforeClass public static void beforeClass() throws BrutException { + TestUtils.cleanFrameworkFile(); sTmpDir = new ExtFile(OS.createTempDirectory()); TestUtils.copyResourceDir(SharedLibraryTest.class, "brut/apktool/shared_libraries/", sTmpDir); } diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java index 7151ac1f..c5a9747d 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java @@ -25,6 +25,8 @@ import java.net.URLDecoder; import java.nio.file.Files; import java.util.HashMap; import java.util.Map; + +import brut.util.OS; import org.custommonkey.xmlunit.ElementQualifier; import org.w3c.dom.Element; import org.xmlpull.v1.*; @@ -116,6 +118,30 @@ public abstract class TestUtils { } } + /** + * + * @throws AndrolibException + * @throws BrutException + */ + public static void cleanFrameworkFile() throws AndrolibException, BrutException { + File framework = new File(getFrameworkDir(), "1.apk"); + + if (Files.exists(framework.toPath())) { + OS.rmfile(framework.getAbsolutePath()); + } + } + + /** + * + * @return File + * @throws AndrolibException + */ + public static File getFrameworkDir() throws AndrolibException { + AndrolibResources androlibResources = new AndrolibResources(); + androlibResources.apkOptions = new ApkOptions(); + return androlibResources.getFrameworkDir(); + } + public static class ResValueElementQualifier implements ElementQualifier { @Override