diff --git a/app/src/main/java/io/github/muntashirakon/AppManager/apk/ApkUtils.java b/app/src/main/java/io/github/muntashirakon/AppManager/apk/ApkUtils.java index 21bd0268ed8..3def254f78c 100644 --- a/app/src/main/java/io/github/muntashirakon/AppManager/apk/ApkUtils.java +++ b/app/src/main/java/io/github/muntashirakon/AppManager/apk/ApkUtils.java @@ -197,7 +197,7 @@ public static HashMap getManifestAttributes(@NonNull ByteBuffer if (attribute.getName().isEmpty()) { continue; } - manifestAttrs.put(attribute.getName(), attribute.getValue()); + manifestAttrs.put(attribute.getName(), attribute.getValueAsString()); } XMLElement androidElement = null; for (XMLElement elem : manifestElement.getChildElementList()) { @@ -214,7 +214,7 @@ public static HashMap getManifestAttributes(@NonNull ByteBuffer if (attribute.getName().isEmpty()) { continue; } - manifestAttrs.put(attribute.getName(), attribute.getValue()); + manifestAttrs.put(attribute.getName(), attribute.getValueAsString()); } return manifestAttrs; } diff --git a/app/src/main/java/io/github/muntashirakon/AppManager/apk/parser/AndroidBinXmlDecoder.java b/app/src/main/java/io/github/muntashirakon/AppManager/apk/parser/AndroidBinXmlDecoder.java index 88df68ef269..3e3334f60bf 100644 --- a/app/src/main/java/io/github/muntashirakon/AppManager/apk/parser/AndroidBinXmlDecoder.java +++ b/app/src/main/java/io/github/muntashirakon/AppManager/apk/parser/AndroidBinXmlDecoder.java @@ -73,9 +73,8 @@ public static void decode(@NonNull ByteBuffer byteBuffer, @NonNull OutputStream PrintStream out = new PrintStream(os)) { ResXmlDocument resXmlDocument = new ResXmlDocument(); resXmlDocument.readBytes(reader); - try (ResXmlPullParser parser = new ResXmlPullParser()) { - parser.setCurrentPackage(getFrameworkPackageBlock()); - parser.setResXmlDocument(resXmlDocument); + resXmlDocument.setPackageBlock(getFrameworkPackageBlock()); + try (ResXmlPullParser parser = new ResXmlPullParser(resXmlDocument)) { StringBuilder indent = new StringBuilder(10); final String indentStep = " "; out.println(""); @@ -128,7 +127,7 @@ public static XMLDocument decodeToXml(@NonNull ByteBuffer byteBuffer) throws IOE try (BlockReader reader = new BlockReader(byteBuffer.array())) { xmlBlock.readBytes(reader); xmlBlock.setPackageBlock(getFrameworkPackageBlock()); - return xmlBlock.decodeToXml(); + return xmlBlock.toXml(true); } } @@ -141,7 +140,7 @@ private static String getNamespacePrefix(String prefix) { } @NonNull - static PackageBlock getFrameworkPackageBlock() throws IOException { + static PackageBlock getFrameworkPackageBlock() { if (sFrameworkPackageBlock != null) { return sFrameworkPackageBlock; } diff --git a/app/src/main/java/io/github/muntashirakon/AppManager/apk/signing/ZipAlign.java b/app/src/main/java/io/github/muntashirakon/AppManager/apk/signing/ZipAlign.java index 4634d34118a..ec3d8cf421a 100644 --- a/app/src/main/java/io/github/muntashirakon/AppManager/apk/signing/ZipAlign.java +++ b/app/src/main/java/io/github/muntashirakon/AppManager/apk/signing/ZipAlign.java @@ -117,7 +117,6 @@ public static ZipAligner getZipAligner(int defaultAlignment, boolean pageAlignSh Pattern patternNativeLib = Pattern.compile("^lib/.+\\.so$"); zipAligner.setFileAlignment(patternNativeLib, ALIGNMENT_PAGE); } - zipAligner.setEnableDataDescriptor(true); return zipAligner; } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f3d..a4b76b9530d 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 381baa9cef1..eb1a55be0e1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionSha256Sum=f397b287023acdba1e9f6fc5ea72d22dd63669d59ed4a289a29b1a76eee151c6 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a42690..f5feea6d6b1 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30dbdee..9d21a21834d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/versions.gradle b/versions.gradle index ed06a390b5c..7640cda54e2 100644 --- a/versions.gradle +++ b/versions.gradle @@ -1,31 +1,31 @@ // SPDX-License-Identifier: GPL-3.0-or-later ext { - compile_sdk = 34 + compile_sdk = 35 min_sdk = 21 target_sdk = 34 // Gradle plugins - agp_version = '8.4.1' + agp_version = '8.7.2' // Library dependencies - activity_version = "1.9.0" // Draw around the display cutouts - androidx_core_version = "1.13.1" // Added temporarily until appcompat migrates to it - annotation_version = "1.8.0" + activity_version = "1.9.3" // Draw around the display cutouts + androidx_core_version = "1.15.0" // Added temporarily until appcompat migrates to it + annotation_version = "1.9.1" apksig_version = "4.4.0" appcompat_version = "1.7.0" - arsclib_version = "ece5c8a43c" - baksmali_version = "3.0.7" - biometric_version = "1.2.0-alpha05" - bouncycastle_version = "1.78.1" - desugar_jdk_version = "2.0.4" + arsclib_version = "cb342c16ad" + baksmali_version = "3.0.8" + biometric_version = "1.4.0-alpha02" + bouncycastle_version = "1.79" + desugar_jdk_version = "2.1.3" documentfile_version = "1.1.0-alpha01" // AppCompat still includes the buggy implementation of documentfile library (1.0.0) duration_picker = "c3c89adf3d" fastscroll_version = "1.3.0" gson_version = "2.11.0" hiddenapibypass_version = "4.3" jadx_version = "1.4.7" - jb_annotation_version = "24.1.0" // Compile-only + jb_annotation_version = "26.0.1" // Compile-only libadb_version = "3.0.0" libsu_version = "6.0.0" material_version = "1.12.0" @@ -35,14 +35,14 @@ ext { simplemagic_version = "1.17" sora_editor_version = "0.22.2" speed_dial_version = "3.3.0" - splashscreen_version = "1.2.0-alpha01" + splashscreen_version = "1.2.0-alpha02" sun_security_version = "1.1" swipe_refresh_version = "1.2.0-alpha01" unapkm_version = "1.2" - webkit_version = "1.11.0" - zstd_version = "1.5.6-3" + webkit_version = "1.12.1" + zstd_version = "1.5.6-8" // Test dependencies junit_version = "4.13.2" - robolectric_version = "4.9.2" + robolectric_version = "4.14.1" }