From bca474272eab6b5095c0c7ac6026bc6f24c4b676 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Wed, 7 Feb 2018 09:42:56 -0500 Subject: [PATCH] Support for rebuilding root depth kotlin folder - refs: #1703 --- .../src/main/java/brut/androlib/Androlib.java | 7 ++----- .../java/brut/androlib/BuildAndDecodeTest.java | 5 +++++ .../testapp/kotlin/kotlin.kotlin_builtins | Bin 0 -> 14202 bytes 3 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 brut.apktool/apktool-lib/src/test/resources/brut/apktool/testapp/kotlin/kotlin.kotlin_builtins diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java index d79b6657..a5f0f7f1 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java @@ -303,7 +303,6 @@ public class Androlib { buildNonDefaultSources(appDir); buildManifestFile(appDir, manifest, manifestOriginal); buildResources(appDir, meta.usesFramework); - buildLib(appDir); buildLibs(appDir); buildCopyOriginalFiles(appDir); buildApk(appDir, outFile); @@ -545,12 +544,10 @@ public class Androlib { } } - public void buildLib(File appDir) throws AndrolibException { - buildLibrary(appDir, "lib"); - } - public void buildLibs(File appDir) throws AndrolibException { + buildLibrary(appDir, "lib"); buildLibrary(appDir, "libs"); + buildLibrary(appDir, "kotlin"); } public void buildLibrary(File appDir, String folder) throws AndrolibException { 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 c8669211..70a50b51 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 @@ -528,6 +528,11 @@ public class BuildAndDecodeTest { compareBinaryFolder("/smali", false); } + @Test + public void confirmKotlinFolderPersistsTest() throws BrutException, IOException { + checkFolderExists("/kotlin"); + } + @SuppressWarnings("unchecked") private void compareUnknownFiles() throws BrutException, IOException { MetaInfo control = new Androlib().readMetaFile(sTestOrigDir); diff --git a/brut.apktool/apktool-lib/src/test/resources/brut/apktool/testapp/kotlin/kotlin.kotlin_builtins b/brut.apktool/apktool-lib/src/test/resources/brut/apktool/testapp/kotlin/kotlin.kotlin_builtins new file mode 100644 index 0000000000000000000000000000000000000000..ee639e572350b419d96e313d80498aaef5ee65a1 GIT binary patch literal 14202 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 bJxg{{Z_7BN&=<_?KWv0RXt2fNDDM9Ns!@In literal 0 HcmV?d00001