refactor: rename ApkOptions -> Options/BuildOptions

This commit is contained in:
Connor Tumbleson
2021-09-05 06:45:03 -04:00
committed by Connor Tumbleson
parent bc51024ea8
commit 3b179f8750
20 changed files with 162 additions and 147 deletions

View File

@ -16,6 +16,7 @@
*/
package brut.androlib;
import brut.androlib.options.BuildOptions;
import brut.androlib.res.AndrolibResources;
import brut.common.BrutException;
import brut.directory.DirUtil;
@ -137,7 +138,7 @@ public abstract class TestUtils {
static File getFrameworkDir() throws AndrolibException {
AndrolibResources androlibResources = new AndrolibResources();
androlibResources.apkOptions = new ApkOptions();
androlibResources.buildOptions = new BuildOptions();
return androlibResources.getFrameworkDir();
}

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt1;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.directory.ExtFile;
import brut.common.BrutException;
import brut.util.OS;
@ -46,8 +47,8 @@ public class AndroidOreoNotSparseTest extends BaseTest {
apkDecoder.decode();
LOGGER.info("Building not_sparse.apk...");
ApkOptions apkOptions = new ApkOptions();
new Androlib(apkOptions).build(sTestNewDir, testApk);
BuildOptions buildOptions = new BuildOptions();
new Androlib(buildOptions).build(sTestNewDir, testApk);
}
@AfterClass

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt1;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.directory.ExtFile;
import brut.common.BrutException;
import brut.util.OS;
@ -46,8 +47,8 @@ public class AndroidOreoSparseTest extends BaseTest {
apkDecoder.decode();
LOGGER.info("Building sparse.apk...");
ApkOptions apkOptions = new ApkOptions();
new Androlib(apkOptions).build(sTestNewDir, testApk);
BuildOptions buildOptions = new BuildOptions();
new Androlib(buildOptions).build(sTestNewDir, testApk);
}
@AfterClass

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt1;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.directory.ExtFile;
import brut.common.BrutException;
import brut.util.OS;
@ -46,11 +47,11 @@ public class DebugTagRetainedTest extends BaseTest {
TestUtils.copyResourceDir(DebugTagRetainedTest.class, "aapt1/issue1235/", sTestOrigDir);
LOGGER.info("Building issue1235.apk...");
ApkOptions apkOptions = new ApkOptions();
apkOptions.debugMode = true;
BuildOptions buildOptions = new BuildOptions();
buildOptions.debugMode = true;
File testApk = new File(sTmpDir, "issue1235.apk");
new Androlib(apkOptions).build(sTestOrigDir, testApk);
new Androlib(buildOptions).build(sTestOrigDir, testApk);
LOGGER.info("Decoding issue1235.apk...");
ApkDecoder apkDecoder = new ApkDecoder(testApk);

View File

@ -18,7 +18,7 @@ package brut.androlib.aapt1;
import brut.androlib.Androlib;
import brut.androlib.ApkDecoder;
import brut.androlib.ApkOptions;
import brut.androlib.options.BuildOptions;
import brut.androlib.TestUtils;
import brut.directory.ExtFile;
import brut.common.BrutException;
@ -50,8 +50,8 @@ public class EmptyResourcesArscTest {
apkDecoder.decode();
LOGGER.info("Building issue1730.apk...");
ApkOptions apkOptions = new ApkOptions();
new Androlib(apkOptions).build(sTestNewDir, testApk);
BuildOptions buildOptions = new BuildOptions();
new Androlib(buildOptions).build(sTestNewDir, testApk);
}
@AfterClass

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt1;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.directory.ExtFile;
import brut.common.BrutException;
import brut.util.OS;
@ -49,11 +50,11 @@ public class SharedLibraryTest extends BaseTest {
public void isFrameworkTaggingWorking() throws AndrolibException {
String apkName = "library.apk";
ApkOptions apkOptions = new ApkOptions();
apkOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
apkOptions.frameworkTag = "building";
BuildOptions buildOptions = new BuildOptions();
buildOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
buildOptions.frameworkTag = "building";
new Androlib(apkOptions).installFramework(new File(sTmpDir + File.separator + apkName));
new Androlib(buildOptions).installFramework(new File(sTmpDir + File.separator + apkName));
assertTrue(fileExists("2-building.apk"));
}
@ -62,10 +63,10 @@ public class SharedLibraryTest extends BaseTest {
public void isFrameworkInstallingWorking() throws AndrolibException {
String apkName = "library.apk";
ApkOptions apkOptions = new ApkOptions();
apkOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
BuildOptions buildOptions = new BuildOptions();
buildOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
new Androlib(apkOptions).installFramework(new File(sTmpDir + File.separator + apkName));
new Androlib(buildOptions).installFramework(new File(sTmpDir + File.separator + apkName));
assertTrue(fileExists("2.apk"));
}
@ -76,36 +77,36 @@ public class SharedLibraryTest extends BaseTest {
String client = "client.apk";
// setup apkOptions
ApkOptions apkOptions = new ApkOptions();
apkOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
apkOptions.frameworkTag = "shared";
BuildOptions buildOptions = new BuildOptions();
buildOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
buildOptions.frameworkTag = "shared";
// install library/framework
new Androlib(apkOptions).installFramework(new File(sTmpDir + File.separator + library));
new Androlib(buildOptions).installFramework(new File(sTmpDir + File.separator + library));
assertTrue(fileExists("2-shared.apk"));
// decode client.apk
ApkDecoder apkDecoder = new ApkDecoder(new File(sTmpDir + File.separator + client));
apkDecoder.setOutDir(new File(sTmpDir + File.separator + client + ".out"));
apkDecoder.setFrameworkDir(apkOptions.frameworkFolderLocation);
apkDecoder.setFrameworkTag(apkOptions.frameworkTag);
apkDecoder.setFrameworkDir(buildOptions.frameworkFolderLocation);
apkDecoder.setFrameworkTag(buildOptions.frameworkTag);
apkDecoder.decode();
// decode library.apk
ApkDecoder libraryDecoder = new ApkDecoder(new File(sTmpDir + File.separator + library));
libraryDecoder.setOutDir(new File(sTmpDir + File.separator + library + ".out"));
libraryDecoder.setFrameworkDir(apkOptions.frameworkFolderLocation);
libraryDecoder.setFrameworkTag(apkOptions.frameworkTag);
libraryDecoder.setFrameworkDir(buildOptions.frameworkFolderLocation);
libraryDecoder.setFrameworkTag(buildOptions.frameworkTag);
libraryDecoder.decode();
// build client.apk
ExtFile clientApk = new ExtFile(sTmpDir, client + ".out");
new Androlib(apkOptions).build(clientApk, null);
new Androlib(buildOptions).build(clientApk, null);
assertTrue(fileExists(client + ".out" + File.separator + "dist" + File.separator + client));
// build library.apk (shared library)
ExtFile libraryApk = new ExtFile(sTmpDir, library + ".out");
new Androlib(apkOptions).build(libraryApk, null);
new Androlib(buildOptions).build(libraryApk, null);
assertTrue(fileExists(library + ".out" + File.separator + "dist" + File.separator + library));
}

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt1;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.directory.ExtFile;
import brut.common.BrutException;
import brut.util.OS;
@ -39,8 +40,8 @@ public class UnknownCompressionTest extends BaseTest {
TestUtils.copyResourceDir(UnknownCompressionTest.class, "aapt1/unknown_compression/", sTmpDir);
String apk = "deflated_unknowns.apk";
ApkOptions apkOptions = new ApkOptions();
apkOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
BuildOptions buildOptions = new BuildOptions();
buildOptions.frameworkFolderLocation = sTmpDir.getAbsolutePath();
sTestOrigDir = new ExtFile(sTmpDir, apk);
@ -51,7 +52,7 @@ public class UnknownCompressionTest extends BaseTest {
// build deflated_unknowns
ExtFile clientApkFolder = new ExtFile(sTestOrigDir.getAbsolutePath() + ".out");
new Androlib(apkOptions).build(clientApkFolder, null);
new Androlib(buildOptions).build(clientApkFolder, null);
sTestNewDir = new ExtFile(clientApkFolder, "dist" + File.separator + apk);
}

View File

@ -18,6 +18,7 @@ package brut.androlib.aapt2;
import brut.androlib.*;
import brut.androlib.meta.MetaInfo;
import brut.androlib.options.BuildOptions;
import brut.common.BrutException;
import brut.directory.ExtFile;
import brut.util.OS;
@ -42,13 +43,13 @@ public class BuildAndDecodeTest extends BaseTest {
LOGGER.info("Unpacking testapp...");
TestUtils.copyResourceDir(BuildAndDecodeTest.class, "aapt2/testapp/", sTestOrigDir);
ApkOptions apkOptions = new ApkOptions();
apkOptions.useAapt2 = true;
apkOptions.verbose = true;
BuildOptions buildOptions = new BuildOptions();
buildOptions.useAapt2 = true;
buildOptions.verbose = true;
LOGGER.info("Building testapp.apk...");
File testApk = new File(sTmpDir, "testapp.apk");
new Androlib(apkOptions).build(sTestOrigDir, testApk);
new Androlib(buildOptions).build(sTestOrigDir, testApk);
LOGGER.info("Decoding testapp.apk...");
ApkDecoder apkDecoder = new ApkDecoder(testApk);

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt2;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.common.BrutException;
import brut.directory.ExtFile;
import brut.util.OS;
@ -46,13 +47,13 @@ public class DebuggableFalseChangeToTrueTest extends BaseTest {
TestUtils.copyResourceDir(DebuggableFalseChangeToTrueTest.class, "aapt2/issue2328/debuggable-false", sTestOrigDir);
LOGGER.info("Building issue2328-debuggable-flase.apk...");
ApkOptions apkOptions = new ApkOptions();
apkOptions.debugMode = true;
apkOptions.useAapt2 = true;
apkOptions.verbose = true;
BuildOptions buildOptions = new BuildOptions();
buildOptions.debugMode = true;
buildOptions.useAapt2 = true;
buildOptions.verbose = true;
File testApk = new File(sTmpDir, "issue2328-debuggable-flase.apk");
new Androlib(apkOptions).build(sTestOrigDir, testApk);
new Androlib(buildOptions).build(sTestOrigDir, testApk);
LOGGER.info("Decoding issue2328-debuggable-flase.apk...");
ApkDecoder apkDecoder = new ApkDecoder(testApk);

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt2;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.common.BrutException;
import brut.directory.ExtFile;
import brut.util.OS;
@ -46,13 +47,13 @@ public class DebuggableTrueAddedTest extends BaseTest {
TestUtils.copyResourceDir(DebuggableTrueAddedTest.class, "aapt2/issue2328/debuggable-missing", sTestOrigDir);
LOGGER.info("Building issue2328-debuggable-missing.apk...");
ApkOptions apkOptions = new ApkOptions();
apkOptions.debugMode = true;
apkOptions.useAapt2 = true;
apkOptions.verbose = true;
BuildOptions buildOptions = new BuildOptions();
buildOptions.debugMode = true;
buildOptions.useAapt2 = true;
buildOptions.verbose = true;
File testApk = new File(sTmpDir, "issue2328-debuggable-missing.apk");
new Androlib(apkOptions).build(sTestOrigDir, testApk);
new Androlib(buildOptions).build(sTestOrigDir, testApk);
LOGGER.info("Decoding issue2328-debuggable-missing.apk...");
ApkDecoder apkDecoder = new ApkDecoder(testApk);

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt2;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.common.BrutException;
import brut.directory.ExtFile;
import brut.util.OS;
@ -46,13 +47,13 @@ public class DebuggableTrueRetainedTest extends BaseTest {
TestUtils.copyResourceDir(DebuggableTrueRetainedTest.class, "aapt2/issue2328/debuggable-true", sTestOrigDir);
LOGGER.info("Building issue2328-debuggable-true.apk...");
ApkOptions apkOptions = new ApkOptions();
apkOptions.debugMode = true;
apkOptions.useAapt2 = true;
apkOptions.verbose = true;
BuildOptions buildOptions = new BuildOptions();
buildOptions.debugMode = true;
buildOptions.useAapt2 = true;
buildOptions.verbose = true;
File testApk = new File(sTmpDir, "issue2328-debuggable-true.apk");
new Androlib(apkOptions).build(sTestOrigDir, testApk);
new Androlib(buildOptions).build(sTestOrigDir, testApk);
LOGGER.info("Decoding issue2328-debuggable-true.apk...");
ApkDecoder apkDecoder = new ApkDecoder(testApk);

View File

@ -17,6 +17,7 @@
package brut.androlib.aapt2;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.androlib.res.data.ResTable;
import brut.common.BrutException;
import brut.directory.ExtFile;
@ -43,13 +44,13 @@ public class NonStandardPkgIdTest extends BaseTest {
LOGGER.info("Unpacking pkgid8...");
TestUtils.copyResourceDir(BuildAndDecodeTest.class, "aapt2/pkgid8/", sTestOrigDir);
ApkOptions apkOptions = new ApkOptions();
apkOptions.useAapt2 = true;
apkOptions.verbose = true;
BuildOptions buildOptions = new BuildOptions();
buildOptions.useAapt2 = true;
buildOptions.verbose = true;
LOGGER.info("Building pkgid8.apk...");
File testApk = new File(sTmpDir, "pkgid8.apk");
new Androlib(apkOptions).build(sTestOrigDir, testApk);
new Androlib(buildOptions).build(sTestOrigDir, testApk);
LOGGER.info("Decoding pkgid8.apk...");
ApkDecoder apkDecoder = new ApkDecoder(testApk);

View File

@ -17,6 +17,7 @@
package brut.androlib.decode;
import brut.androlib.*;
import brut.androlib.options.BuildOptions;
import brut.common.BrutException;
import brut.directory.ExtFile;
import brut.util.OS;
@ -53,8 +54,8 @@ public class DuplicateDexTest extends BaseTest {
apkDecoder.decode();
LOGGER.info("Building duplicatedex.apk...");
ApkOptions apkOptions = new ApkOptions();
new Androlib(apkOptions).build(sTestNewDir, testApk);
BuildOptions buildOptions = new BuildOptions();
new Androlib(buildOptions).build(sTestNewDir, testApk);
}
@Test
@ -68,8 +69,8 @@ public class DuplicateDexTest extends BaseTest {
apkDecoder.decode();
LOGGER.info("Building duplicatedex.apk...");
ApkOptions apkOptions = new ApkOptions();
new Androlib(apkOptions).build(sTestNewDir, testApk);
BuildOptions buildOptions = new BuildOptions();
new Androlib(buildOptions).build(sTestNewDir, testApk);
}
}

View File

@ -18,6 +18,7 @@ package brut.androlib.res.src;
import brut.androlib.*;
import brut.androlib.aapt2.BuildAndDecodeTest;
import brut.androlib.options.BuildOptions;
import brut.common.BrutException;
import brut.directory.ExtFile;
import brut.util.OS;
@ -44,11 +45,11 @@ public class DexStaticFieldValueTest extends BaseTest {
LOGGER.info("Unpacking issue2543...");
TestUtils.copyResourceDir(BuildAndDecodeTest.class, "decode/issue2543/", sTestOrigDir);
ApkOptions apkOptions = new ApkOptions();
BuildOptions buildOptions = new BuildOptions();
LOGGER.info("Building issue2543.apk...");
File testApk = new File(sTmpDir, "issue2543.apk");
new Androlib(apkOptions).build(sTestOrigDir, testApk);
new Androlib(buildOptions).build(sTestOrigDir, testApk);
LOGGER.info("Decoding issue2543.apk...");
ApkDecoder apkDecoder = new ApkDecoder(testApk);