diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4f712a8ad..168701aae 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -74,10 +74,10 @@ dependencies { implementation("com.github.topjohnwu:indeterminate-checkbox:1.0.7") implementation("com.github.topjohnwu:lz4-java:1.7.1") implementation("com.jakewharton.timber:timber:5.0.1") - implementation("org.bouncycastle:bcpkix-jdk18on:1.75") + implementation("org.bouncycastle:bcpkix-jdk18on:1.76") implementation("dev.rikka.rikkax.layoutinflater:layoutinflater:1.3.0") implementation("dev.rikka.rikkax.insets:insets:1.3.0") - implementation("dev.rikka.rikkax.recyclerview:recyclerview-ktx:1.3.1") + implementation("dev.rikka.rikkax.recyclerview:recyclerview-ktx:1.3.2") implementation("io.noties.markwon:core:4.6.2") val vLibsu = "5.2.0" @@ -99,12 +99,12 @@ dependencies { implementation("com.squareup.moshi:moshi:${vMoshi}") kapt("com.squareup.moshi:moshi-kotlin-codegen:${vMoshi}") - val vRoom = "2.5.2" + val vRoom = "2.6.0-alpha03" implementation("androidx.room:room-runtime:${vRoom}") implementation("androidx.room:room-ktx:${vRoom}") kapt("androidx.room:room-compiler:${vRoom}") - val vNav = "2.6.0" + val vNav = "2.7.0" implementation("androidx.navigation:navigation-fragment-ktx:${vNav}") implementation("androidx.navigation:navigation-ui-ktx:${vNav}") @@ -112,8 +112,8 @@ dependencies { implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") implementation("androidx.appcompat:appcompat:1.6.1") - implementation("androidx.recyclerview:recyclerview:1.3.0") - implementation("androidx.fragment:fragment-ktx:1.6.0") + implementation("androidx.recyclerview:recyclerview:1.3.1") + implementation("androidx.fragment:fragment-ktx:1.6.1") implementation("androidx.transition:transition:1.4.1") implementation("androidx.core:core-ktx:1.10.1") implementation("androidx.core:core-splashscreen:1.0.1") diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 2ad542a88..4e11d7319 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -16,10 +16,9 @@ gradlePlugin { } dependencies { - // Cannot upgrade to 1.9.0: https://issuetracker.google.com/issues/236612358#comment19 - implementation(kotlin("gradle-plugin", "1.8.22")) - implementation("com.android.tools.build:gradle:8.0.2") - implementation("androidx.navigation:navigation-safe-args-gradle-plugin:2.6.0") + implementation(kotlin("gradle-plugin", "1.9.0")) + implementation("com.android.tools.build:gradle:8.1.0") + implementation("androidx.navigation:navigation-safe-args-gradle-plugin:2.7.0") implementation("org.lsposed.lsparanoid:gradle-plugin:0.5.2") implementation("org.eclipse.jgit:org.eclipse.jgit:6.5.0.202303070854-r") } diff --git a/buildSrc/src/main/java/Setup.kt b/buildSrc/src/main/java/Setup.kt index af1a9ab7e..4bf430a24 100644 --- a/buildSrc/src/main/java/Setup.kt +++ b/buildSrc/src/main/java/Setup.kt @@ -69,13 +69,13 @@ private val Project.androidComponents fun Project.setupCommon() { androidBase { - compileSdkVersion(33) - buildToolsVersion = "33.0.2" + compileSdkVersion(34) + buildToolsVersion = "34.0.0" ndkPath = "$sdkDirectory/ndk/magisk" defaultConfig { minSdk = 23 - targetSdk = 33 + targetSdk = 34 } compileOptions { diff --git a/gradle.properties b/gradle.properties index d8d026032..ddc3ea693 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,6 +26,6 @@ android.injected.testOnly=false android.nonFinalResIds=false # Magisk -magisk.stubVersion=36 +magisk.stubVersion=37 magisk.versionCode=26105 magisk.ondkVersion=r25.6 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0c85a1f75..a36387743 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/stub/src/main/java/com/topjohnwu/magisk/DynLoad.java b/stub/src/main/java/com/topjohnwu/magisk/DynLoad.java index 877a6fba5..dace6f05a 100644 --- a/stub/src/main/java/com/topjohnwu/magisk/DynLoad.java +++ b/stub/src/main/java/com/topjohnwu/magisk/DynLoad.java @@ -60,9 +60,11 @@ public class DynLoad { try { File external = new File(context.getExternalFilesDir(null), "magisk.apk"); if (external.exists()) { + apk.delete(); try { var in = new FileInputStream(external); var out = new FileOutputStream(apk); + apk.setReadOnly(); try (in; out) { APKInstall.transfer(in, out); } @@ -79,6 +81,7 @@ public class DynLoad { } if (apk.exists()) { + apk.setReadOnly(); return new AppClassLoader(apk); } @@ -86,8 +89,10 @@ public class DynLoad { if (!context.getPackageName().equals(APPLICATION_ID)) { try { var info = context.getPackageManager().getApplicationInfo(APPLICATION_ID, 0); + apk.delete(); var src = new FileInputStream(info.sourceDir); var out = new FileOutputStream(apk); + apk.setReadOnly(); try (src; out) { APKInstall.transfer(src, out); }