nelenkov / android-backup-extractor

Android backup extractor
Other
2.2k stars 272 forks source link

Remove warnings, update dependencies, Gradle and fix build #125

Closed ThexXTURBOXx closed 7 months ago

ThexXTURBOXx commented 7 months ago

gradlew publishToMavenLocal did not work anymore, so this fixes it alongside other things

nelenkov commented 7 months ago

Not sure what exactly was broken, but can you split this or remove the spelling/stylistic Java changes?

Also, Java 11 is required IIRC, so it won't work with 1.8.

ThexXTURBOXx commented 7 months ago

Not sure what exactly was broken

The error can be seen for example on jitpack: https://jitpack.io/com/github/nelenkov/android-backup-extractor/56e986a/build.log

* What went wrong:
Execution failed for task ':publishMavenJavaPublicationToMavenLocal'.
> Failed to publish publication 'mavenJava' to repository 'mavenLocal'
   > Invalid publication 'mavenJava': multiple artifacts with the identical extension and classifier ('jar', 'null').

This comes from archiveClassifier = '' which sets the classifier to null and hence makes it the same file name as the original compileJava output jar.

can you split this or remove the spelling/stylistic Java changes?

Of course! I will do so in the evening and tell you when I am done.

Also, Java 11 is required IIRC, so it won't work with 1.8.

Actually, that is true currently. However, this PR sets sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 which sets the bytecode major version to 52 (corresponding to Java 8). This alone makes most of the classes compatible with Java 8 again. What does the trick for the rest is to set options.release.set 8. This adds a --release 8 parameter to javac which tells the compiler to use some internal mappings in order to make everything exactly compatible with Java 8. So, after this PR, everything will work again for Java 8 (and of course up until Java 21 and most likely beyond).

ThexXTURBOXx commented 7 months ago

Done, see #126 for the style-related changes. This PR now only touches files outside the source root(s).

nelenkov commented 7 months ago

Thanks! Did you test decryption with Java 8? I remember there was a reason I bumped it to 11.

ThexXTURBOXx commented 7 months ago

You're welcome! Yes, tried it again just in case using https://github.com/ThexXTURBOXx/CookieClickerMobileToolbox/:

C:\Users\nicom\.jdks\corretto-1.8.0_392\bin\java.exe "-javaagent:E:\Program Files\JetBrains\IntelliJ IDEA Ultimate\lib\idea_rt.jar=61975:E:\Program Files\JetBrains\IntelliJ IDEA Ultimate\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\charsets.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\access-bridge-64.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\cldrdata.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\dnsns.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\jaccess.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\jfxrt.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\localedata.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\nashorn.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\sunec.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\sunjce_provider.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\sunmscapi.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\sunpkcs11.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\ext\zipfs.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\jce.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\jfr.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\jfxswt.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\jsse.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\management-agent.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\resources.jar;C:\Users\nicom\.jdks\corretto-1.8.0_392\jre\lib\rt.jar;F:\_Coding\CookieClickerMobileToolbox\target\classes;C:\Users\nicom\.m2\repository\com\github\ThexXTURBOXx\android-backup-extractor\7b2baa3\android-backup-extractor-7b2baa3.jar;C:\Users\nicom\.m2\repository\org\bouncycastle\bcprov-jdk18on\1.77\bcprov-jdk18on-1.77.jar;C:\Users\nicom\.m2\repository\org\apache\commons\commons-compress\1.26.0\commons-compress-1.26.0.jar;C:\Users\nicom\.m2\repository\org\apache\commons\commons-lang3\3.14.0\commons-lang3-3.14.0.jar;C:\Users\nicom\.m2\repository\commons-io\commons-io\2.15.1\commons-io-2.15.1.jar;C:\Users\nicom\.m2\repository\com\github\vidstige\jadb\1.2.1\jadb-1.2.1.jar;C:\Users\nicom\.m2\repository\org\mockito\mockito-core\2.7.17\mockito-core-2.7.17.jar;C:\Users\nicom\.m2\repository\net\bytebuddy\byte-buddy\1.6.11\byte-buddy-1.6.11.jar;C:\Users\nicom\.m2\repository\net\bytebuddy\byte-buddy-agent\1.6.11\byte-buddy-agent-1.6.11.jar;C:\Users\nicom\.m2\repository\org\objenesis\objenesis\2.5\objenesis-2.5.jar de.femtopedia.ccmobileswitcher.Main
WARNING: adb backup is deprecated and may be removed in a future release
Now unlock your device and confirm the backup operation...
0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31% 32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47% 48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63% 64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79% 80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95% 96% 97% 98% 99% 100% 
10977792 bytes written to C:\Users\nicom\Downloads\backup.tar.
nelenkov commented 7 months ago

I guess it could have been because 1.8 is deprecated and no longer supported. Thanks!