From 5efd17033a742e68657113a09851a62989a60e4a Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Fri, 31 May 2019 15:53:45 -0400 Subject: [PATCH 01/10] build: test on jdk9 and jdk11 --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0a2330c6..6d7332bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,10 @@ matrix: jdk: openjdk8 - os: linux jdk: oraclejdk8 + - os: linux + jdk: oraclejdk9 + - os: linux + jdk: oraclejdk11 - os: osx osx_image: xcode9.2 - os: windows From f2ba30ba5f77d5b6632518fec033c2635f021fd7 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Fri, 31 May 2019 15:58:29 -0400 Subject: [PATCH 02/10] fix: remove jdk9 (no success) --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6d7332bd..577b8e13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,6 @@ matrix: jdk: openjdk8 - os: linux jdk: oraclejdk8 - - os: linux - jdk: oraclejdk9 - os: linux jdk: oraclejdk11 - os: osx From 13aa5d2e2518c6918a3aa5a777f2743ce1acdb97 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 07:52:53 -0400 Subject: [PATCH 03/10] build: update to proguard 6.1.1 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index d09780f9..b5f64c1c 100644 --- a/build.gradle +++ b/build.gradle @@ -113,7 +113,7 @@ subprojects { commons_lang: 'org.apache.commons:commons-lang3:3.1', guava: 'com.google.guava:guava:14.0', junit: 'junit:junit:4.12', - proguard_gradle: 'net.sf.proguard:proguard-gradle:6.1.0', + proguard_gradle: 'net.sf.proguard:proguard-gradle:6.1.1', snakeyaml: 'org.yaml:snakeyaml:1.18:android', smali: 'org.smali:smali:2.2.7', xmlpull: 'xpp3:xpp3:1.1.4c', From e3bead4b5bc2678adb39d6a673aa30a3eea9fe0c Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 07:54:41 -0400 Subject: [PATCH 04/10] build: support for jdk9+ build --- brut.apktool/apktool-cli/build.gradle | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/brut.apktool/apktool-cli/build.gradle b/brut.apktool/apktool-cli/build.gradle index e2bee13e..da2f4fd6 100644 --- a/brut.apktool/apktool-cli/build.gradle +++ b/brut.apktool/apktool-cli/build.gradle @@ -43,7 +43,12 @@ task cleanOutputDirectory(type: Delete) { task proguard(type: proguard.gradle.ProGuardTask, dependsOn: shadowJar) { injars shadowJar.archivePath - libraryjars "${System.properties['java.home']}/lib/rt.jar" + // Java 9 and prior uses merged package for runtime, later uses split jmod files. + if (System.getProperty("java.version").startsWith('1.')) { + libraryjars "${System.properties['java.home']}/lib/rt.jar" + } else { + libraryjars "${System.getProperty('java.home')}/jmods/java.base.jmod", jarfilter: '!**.jar', filter: '!module-info.class' + } dontobfuscate dontoptimize From 2457bdc9bbfe1476784b6758b892f4485024782c Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 08:22:13 -0400 Subject: [PATCH 05/10] build: update shadowJar to 5.1.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index b5f64c1c..7886ae4a 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ buildscript { options.encoding = "UTF-8" } dependencies { - classpath 'com.github.jengelman.gradle.plugins:shadow:5.0.0' + classpath 'com.github.jengelman.gradle.plugins:shadow:5.1.0' } } From 6aeb7d39d7ff3c0ebca0517937dd472f1152ca4a Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 08:22:30 -0400 Subject: [PATCH 06/10] fix: remove deprecated shadowJar features --- brut.apktool/apktool-cli/build.gradle | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/brut.apktool/apktool-cli/build.gradle b/brut.apktool/apktool-cli/build.gradle index da2f4fd6..80779c29 100644 --- a/brut.apktool/apktool-cli/build.gradle +++ b/brut.apktool/apktool-cli/build.gradle @@ -37,11 +37,11 @@ jar { } task cleanOutputDirectory(type: Delete) { - delete fileTree(dir: jar.destinationDir.getPath(), exclude: "apktool-cli-all.jar") + delete fileTree(dir: jar.getDestinationDirectory().getAsFile(), exclude: "apktool-cli-all.jar") } task proguard(type: proguard.gradle.ProGuardTask, dependsOn: shadowJar) { - injars shadowJar.archivePath + injars shadowJar.getArchiveFile() // Java 9 and prior uses merged package for runtime, later uses split jmod files. if (System.getProperty("java.version").startsWith('1.')) { @@ -61,7 +61,9 @@ task proguard(type: proguard.gradle.ProGuardTask, dependsOn: shadowJar) { dontwarn 'javax.xml.xpath.**' dontnote '**' - def outFile = jar.destinationDir.getPath() + '/' + "apktool" + '-' + project.apktool_version + '-small' + '.' + jar.extension + def outPath = jar.getDestinationDirectory().getAsFile().get().toString() + def extension = jar.archiveExtension.get().toString() + def outFile = outPath + '/' + "apktool" + '-' + project.apktool_version + '-small' + '.' + extension outjars outFile } From 2d41a613cc1d98164e5747753d80cf48a84a2abc Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 08:26:45 -0400 Subject: [PATCH 07/10] build: use proper bash if statement --- scripts/travis-ci/clean-tests.sh | 2 +- scripts/travis-ci/run-tests.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/travis-ci/clean-tests.sh b/scripts/travis-ci/clean-tests.sh index a6fc81e6..31f95b99 100755 --- a/scripts/travis-ci/clean-tests.sh +++ b/scripts/travis-ci/clean-tests.sh @@ -1,6 +1,6 @@ #!/usr/bin/env sh -if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then +if [ "$TRAVIS_OS_NAME" = "windows" ]; then export GRADLE_OPTS=-Dorg.gradle.daemon=false choco install jdk8 export PATH=$PATH:"/c/Program Files/Java/jdk1.8.0_211/bin" diff --git a/scripts/travis-ci/run-tests.sh b/scripts/travis-ci/run-tests.sh index 247bcee1..3467e574 100755 --- a/scripts/travis-ci/run-tests.sh +++ b/scripts/travis-ci/run-tests.sh @@ -1,6 +1,6 @@ #!/usr/bin/env sh -if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then +if [ "$TRAVIS_OS_NAME" = "windows" ]; then export GRADLE_OPTS=-Dorg.gradle.daemon=false export PATH=$PATH:"/c/Program Files/Java/jdk1.8.0_211/bin" export JAVA_HOME="/c/Program Files/Java/jdk1.8.0_211" From 24c3c0dbc9e20288393e55e5e3f8908766a6a890 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 08:37:59 -0400 Subject: [PATCH 08/10] fix: properly determine greater than java8 --- brut.apktool/apktool-cli/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/brut.apktool/apktool-cli/build.gradle b/brut.apktool/apktool-cli/build.gradle index 80779c29..7f145c4a 100644 --- a/brut.apktool/apktool-cli/build.gradle +++ b/brut.apktool/apktool-cli/build.gradle @@ -44,10 +44,10 @@ task proguard(type: proguard.gradle.ProGuardTask, dependsOn: shadowJar) { injars shadowJar.getArchiveFile() // Java 9 and prior uses merged package for runtime, later uses split jmod files. - if (System.getProperty("java.version").startsWith('1.')) { + if (JavaVersion.current() <= JavaVersion.VERSION_1_8) { libraryjars "${System.properties['java.home']}/lib/rt.jar" } else { - libraryjars "${System.getProperty('java.home')}/jmods/java.base.jmod", jarfilter: '!**.jar', filter: '!module-info.class' + libraryjars "${System.properties['java.home']}/jmods/java.base.jmod", jarfilter: '!**.jar', filter: '!module-info.class' } dontobfuscate From 4888a5a9f06fc41bae81cf6136b69a8f21b9ce08 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 08:47:16 -0400 Subject: [PATCH 09/10] build: add desktop/sql jmod files --- brut.apktool/apktool-cli/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/brut.apktool/apktool-cli/build.gradle b/brut.apktool/apktool-cli/build.gradle index 7f145c4a..ab5acb3b 100644 --- a/brut.apktool/apktool-cli/build.gradle +++ b/brut.apktool/apktool-cli/build.gradle @@ -48,6 +48,8 @@ task proguard(type: proguard.gradle.ProGuardTask, dependsOn: shadowJar) { libraryjars "${System.properties['java.home']}/lib/rt.jar" } else { libraryjars "${System.properties['java.home']}/jmods/java.base.jmod", jarfilter: '!**.jar', filter: '!module-info.class' + libraryjars "${System.properties['java.home']}/jmods/java.desktop.jmod", jarfilter: '!**.jar', filter: '!module-info.class' + libraryjars "${System.properties['java.home']}/jmods/java.sql.jmod", jarfilter: '!**.jar', filter: '!module-info.class' } dontobfuscate From 0aad85a0a0088e912a67fd9ee2b2c4dd29e76594 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Sat, 13 Jul 2019 08:54:19 -0400 Subject: [PATCH 10/10] fix: add more missing modules - thanks http://cr.openjdk.java.net/~mr/jigsaw/ea/module-summary.html --- brut.apktool/apktool-cli/build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/brut.apktool/apktool-cli/build.gradle b/brut.apktool/apktool-cli/build.gradle index ab5acb3b..d4f0dec4 100644 --- a/brut.apktool/apktool-cli/build.gradle +++ b/brut.apktool/apktool-cli/build.gradle @@ -48,8 +48,12 @@ task proguard(type: proguard.gradle.ProGuardTask, dependsOn: shadowJar) { libraryjars "${System.properties['java.home']}/lib/rt.jar" } else { libraryjars "${System.properties['java.home']}/jmods/java.base.jmod", jarfilter: '!**.jar', filter: '!module-info.class' + libraryjars "${System.properties['java.home']}/jmods/java.logging.jmod", jarfilter: '!**.jar', filter: '!module-info.class' + libraryjars "${System.properties['java.home']}/jmods/java.xml.jmod", jarfilter: '!**.jar', filter: '!module-info.class' libraryjars "${System.properties['java.home']}/jmods/java.desktop.jmod", jarfilter: '!**.jar', filter: '!module-info.class' libraryjars "${System.properties['java.home']}/jmods/java.sql.jmod", jarfilter: '!**.jar', filter: '!module-info.class' + + libraryjars "${System.properties['java.home']}/jmods/jdk.unsupported.jmod", jarfilter: '!**.jar', filter: '!module-info.class' } dontobfuscate