Update dependencies

When upgrading to gradle 9 +, we remove several unused tasks for development to simplify the process.

Close #385, #441, #445, #448, #462 as merged.
This commit is contained in:
JingMatrix 2025-11-08 10:44:22 +01:00
parent 2666bdad2d
commit 0044a36fcf
12 changed files with 43 additions and 107 deletions

View File

@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
submodules: recursive
fetch-depth: 0
@ -41,26 +41,26 @@ jobs:
fi
- name: Checkout libxposed/api
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
repository: libxposed/api
path: libxposed/api
ref: 54582730315ba4a3d7cfaf9baf9d23c419e07006
- name: Checkout libxposed/service
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
repository: libxposed/service
path: libxposed/service
- name: Setup Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
uses: gradle/actions/setup-gradle@v5
- name: Setup ninja
uses: seanmiddleditch/gha-setup-ninja@v6
@ -110,19 +110,19 @@ jobs:
unzip magisk-loader/release/LSPosed-v*-zygisk-debug.zip -d LSPosed-zygisk-debug
- name: Upload zygisk release
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: ${{ steps.prepareArtifact.outputs.zygiskReleaseName }}
path: "./LSPosed-zygisk-release/*"
- name: Upload zygisk debug
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: ${{ steps.prepareArtifact.outputs.zygiskDebugName }}
path: "./LSPosed-zygisk-debug/*"
- name: Upload mappings
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: mappings
path: |
@ -130,7 +130,7 @@ jobs:
app/build/outputs/mapping
- name: Upload symbols
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: symbols
path: build/symbols

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ apache/local/generated
.DS_Store
/build
/captures
bin/

View File

@ -18,14 +18,14 @@ java {
val lang3Src = "commons-lang/src/main/java/org/apache/commons/lang3"
val localDir = "local/generated"
task<Copy>("ClassUtilsX") {
tasks.register<Copy>("ClassUtilsX") {
from("$lang3Src/ClassUtils.java")
into(localDir)
filter { line: String -> line.replace("ClassUtils", "ClassUtilsX") }
rename("(.+).java", "$1X.java")
}
task<Copy>("SerializationUtilsX") {
tasks.register<Copy>("SerializationUtilsX") {
from("$lang3Src/SerializationUtils.java")
into(localDir)
filter { line: String -> line.replace("SerializationUtils", "SerializationUtilsX") }

@ -1 +1 @@
Subproject commit fc2ff10b429b0150f82da4ff3f7a0f7fd3ff1fc1
Subproject commit 52d1b7bfdfe22fa8ff0e9f0c8a6a7b6a70f3ab69

2
external/fmt vendored

@ -1 +1 @@
Subproject commit 93f03953af6b0268e1a29bb5b23d50f72b87a151
Subproject commit 3fccfb8a80804ff1269af71f0a43c8934ca36c92

2
external/lsplt vendored

@ -1 +1 @@
Subproject commit e3db0003526b1e5be3fb9323ff5ff128a59f9ffb
Subproject commit 3e29437f037cb7d2b9fbb459dcf162f6b8d1d926

View File

@ -1,11 +1,11 @@
[versions]
agp = "8.12.0"
kotlin = "2.2.0"
nav = "2.9.3"
agp = "8.13.0"
kotlin = "2.2.20"
nav = "2.9.5"
appcenter = "5.0.5"
libxposed = "100"
glide = "4.16.0"
okhttp = "5.1.0"
glide = "5.0.5"
okhttp = "5.2.0"
[plugins]
agp-lib = { id = "com.android.library", version.ref = "agp" }
@ -31,12 +31,12 @@ rikkax-recyclerview = { module = "dev.rikka.rikkax.recyclerview:recyclerview-ktx
rikkax-widget-borderview = { module = "dev.rikka.rikkax.widget:borderview", version = "1.1.0" }
rikkax-widget-mainswitchbar = { module = "dev.rikka.rikkax.widget:mainswitchbar", version = "1.0.2" }
androidx-activity = { module = "androidx.activity:activity", version = "1.10.1" }
androidx-activity = { module = "androidx.activity:activity", version = "1.11.0" }
androidx-annotation = { module = "androidx.annotation:annotation", version = "1.9.1" }
androidx-browser = { module = "androidx.browser:browser", version = "1.9.0" }
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.2.1" }
androidx-core = { module = "androidx.core:core", version = "1.16.0" }
androidx-fragment = { module = "androidx.fragment:fragment", version = "1.8.8" }
androidx-core = { module = "androidx.core:core", version = "1.17.0" }
androidx-fragment = { module = "androidx.fragment:fragment", version = "1.8.9" }
androidx-navigation-fragment = { group = "androidx.navigation", name = "navigation-fragment", version.ref = "nav" }
androidx-navigation-ui = { group = "androidx.navigation", name = "navigation-ui", version.ref = "nav" }
androidx-preference = { module = "androidx.preference:preference", version = "1.2.1" }
@ -53,7 +53,7 @@ okhttp-logging-interceptor = { group = "com.squareup.okhttp3", name = "logging-i
agp-apksig = { group = "com.android.tools.build", name = "apksig", version.ref = "agp" }
appiconloader = { module = "me.zhanghai.android.appiconloader:appiconloader", version = "1.5.0" }
material = { module = "com.google.android.material:material", version = "1.12.0" }
gson = { module = "com.google.code.gson:gson", version = "2.13.1" }
gson = { module = "com.google.code.gson:gson", version = "2.13.2" }
hiddenapibypass = { module = "org.lsposed.hiddenapibypass:hiddenapibypass", version = "6.1" }
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version = "1.10.2" }

Binary file not shown.

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

5
gradlew vendored
View File

@ -1,7 +1,7 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
# Copyright © 2015 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -114,7 +114,6 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@ -172,7 +171,6 @@ fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"

3
gradlew.bat vendored
View File

@ -70,11 +70,10 @@ goto fail
:execute
@rem Setup the command line
set CLASSPATH=
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell

View File

@ -108,7 +108,7 @@ dependencies {
compileOnly(projects.hiddenapi.stubs)
}
val zipAll = task("zipAll") {
val zipAll = tasks.register("zipAll") {
group = "LSPosed"
}
@ -125,7 +125,7 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
val moduleId = "${flavorLowered}_$moduleBaseId"
val zipFileName = "$moduleName-v$verName-$verCode-${flavorLowered}-$buildTypeLowered.zip"
val prepareMagiskFilesTask = task<Sync>("prepareMagiskFiles$variantCapped") {
val prepareMagiskFilesTask = tasks.register<Sync>("prepareMagiskFiles$variantCapped") {
group = "LSPosed"
dependsOn(
"assemble$variantCapped",
@ -204,7 +204,7 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
}
}
val zipTask = task<Zip>("zip${variantCapped}") {
val zipTask = tasks.register<Zip>("zip${variantCapped}") {
group = "LSPosed"
dependsOn(prepareMagiskFilesTask)
archiveFileName = zipFileName
@ -212,16 +212,18 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
from(magiskDir)
}
zipAll.dependsOn(zipTask)
zipAll.configure {
dependsOn(zipTask)
}
val adb: String = androidComponents.sdkComponents.adb.get().asFile.absolutePath
val pushTask = task<Exec>("push${variantCapped}") {
val pushTask = tasks.register<Exec>("push${variantCapped}") {
group = "LSPosed"
dependsOn(zipTask)
workingDir("${projectDir}/release")
commandLine(adb, "push", zipFileName, "/data/local/tmp/")
}
val flashMagiskTask = task<Exec>("flashMagisk${variantCapped}") {
val installMagiskTask = tasks.register<Exec>("installMagisk${variantCapped}") {
group = "LSPosed"
dependsOn(pushTask)
commandLine(
@ -229,12 +231,12 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
"magisk --install-module /data/local/tmp/${zipFileName}"
)
}
task<Exec>("flashMagiskAndReboot${variantCapped}") {
tasks.register<Exec>("installMagiskAndReboot${variantCapped}") {
group = "LSPosed"
dependsOn(flashMagiskTask)
dependsOn(installMagiskTask)
commandLine(adb, "shell", "su", "-c", "/system/bin/svc", "power", "reboot")
}
val flashKsuTask = task<Exec>("flashKsu${variantCapped}") {
val installKsuTask = tasks.register<Exec>("installKsu${variantCapped}") {
group = "LSPosed"
dependsOn(pushTask)
commandLine(
@ -242,12 +244,12 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
"ksud module install /data/local/tmp/${zipFileName}"
)
}
task<Exec>("flashKsuAndReboot${variantCapped}") {
tasks.register<Exec>("installKsuAndReboot${variantCapped}") {
group = "LSPosed"
dependsOn(flashKsuTask)
dependsOn(installKsuTask)
commandLine(adb, "shell", "su", "-c", "/system/bin/svc", "power", "reboot")
}
val flashAPatchTask = task<Exec>("flashAPatch${variantCapped}") {
val installAPatchTask = tasks.register<Exec>("installAPatch${variantCapped}") {
group = "LSPosed"
dependsOn(pushTask)
commandLine(
@ -255,9 +257,9 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
"apd module install /data/local/tmp/${zipFileName}"
)
}
task<Exec>("flashAPatchAndReboot${variantCapped}") {
tasks.register<Exec>("installAPatchAndReboot${variantCapped}") {
group = "LSPosed"
dependsOn(flashAPatchTask)
dependsOn(installAPatchTask)
commandLine(adb, "shell", "su", "-c", "/system/bin/svc", "power", "reboot")
}
}
@ -266,68 +268,5 @@ afterEvaluate {
afterEval()
}
val adb: String = androidComponents.sdkComponents.adb.get().asFile.absolutePath
val killLspd = task<Exec>("killLspd") {
group = "LSPosed"
commandLine(adb, "shell", "su", "-c", "killall", "lspd")
isIgnoreExitValue = true
}
val pushDaemon = task<Exec>("pushDaemon") {
group = "LSPosed"
dependsOn(":daemon:assembleDebug")
workingDir(project(":daemon").layout.buildDirectory.dir("outputs/apk/debug"))
commandLine(adb, "push", "daemon-debug.apk", "/data/local/tmp/daemon.apk")
}
val pushDaemonNative = task<Exec>("pushDaemonNative") {
group = "LSPosed"
dependsOn(":daemon:assembleDebug")
doFirst {
val abi: String = ByteArrayOutputStream().use { outputStream ->
exec {
commandLine(adb, "shell", "getprop", "ro.product.cpu.abi")
standardOutput = outputStream
}
outputStream.toString().trim()
}
workingDir(project(":daemon").layout.buildDirectory.dir("intermediates/stripped_native_libs/debug/stripDebugDebugSymbols/out/lib/$abi"))
}
commandLine(adb, "push", "libdaemon.so", "/data/local/tmp/libdaemon.so")
}
val reRunDaemon = task<Exec>("reRunDaemon") {
group = "LSPosed"
dependsOn(pushDaemon, pushDaemonNative, killLspd)
// tricky to pass a minus number to avoid the injection warning
commandLine(
adb, "shell", "ASH_STANDALONE=1", "su", "-mm", "-pc",
"/data/adb/magisk/busybox sh /data/adb/modules/*_lsposed/service.sh --system-server-max-retry=-1&"
)
isIgnoreExitValue = true
}
val tmpApk = "/data/local/tmp/manager.apk"
val pushApk = task<Exec>("pushApk") {
group = "LSPosed"
dependsOn(":app:assembleDebug")
doFirst {
exec {
commandLine(adb, "shell", "su", "-c", "rm", "-f", tmpApk)
}
}
workingDir(project(":app").layout.buildDirectory.dir("outputs/apk/debug"))
commandLine(adb, "push", "app-debug.apk", tmpApk)
}
val openApp = task<Exec>("openApp") {
group = "LSPosed"
commandLine(
adb, "shell",
"am", "start", "-c", "org.lsposed.manager.LAUNCH_MANAGER",
"com.android.shell/.BugreportWarningActivity"
)
}
task("reRunApp") {
group = "LSPosed"
dependsOn(pushApk)
finalizedBy(reRunDaemon)
}
evaluationDependsOn(":app")
evaluationDependsOn(":daemon")