Skip to content

Commit

Permalink
Update dependencies
Browse files Browse the repository at this point in the history
1. Use JDK 21
2. Update ksp for compatibility (compulsory)
3. R8 claims that org.lsposed.lspatch.util.ModuleLoader is needed

We use rules in share/lspatch-rules.pro to ensure that LSPatch works
properly after R8 engine
  • Loading branch information
JingMatrix committed May 16, 2024
1 parent 2354287 commit 9a4adbb
Show file tree
Hide file tree
Showing 12 changed files with 54 additions and 42 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,21 +38,21 @@ jobs:
fi
- name: Checkout libxposed/api
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: libxposed/api
path: libxposed/api

- name: Checkout libxposed/service
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: libxposed/service
path: libxposed/service

- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: '17'
java-version: '21'
distribution: 'temurin'

- name: Setup Gradle
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
.project
.settings
libxposed
*.iml
.gradle
/local.properties
Expand Down
21 changes: 19 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.android.build.gradle.BaseExtension
import org.eclipse.jgit.api.Git
import org.eclipse.jgit.internal.storage.file.FileRepository
import org.eclipse.jgit.storage.file.FileRepositoryBuilder
import com.android.build.gradle.LibraryExtension

plugins {
alias(libs.plugins.agp.lib) apply false
Expand Down Expand Up @@ -54,8 +55,8 @@ val androidTargetSdkVersion by extra(34)
val androidCompileSdkVersion by extra(34)
val androidCompileNdkVersion by extra("25.2.9519653")
val androidBuildToolsVersion by extra("34.0.0")
val androidSourceCompatibility by extra(JavaVersion.VERSION_17)
val androidTargetCompatibility by extra(JavaVersion.VERSION_17)
val androidSourceCompatibility by extra(JavaVersion.VERSION_21)
val androidTargetCompatibility by extra(JavaVersion.VERSION_21)

tasks.register<Delete>("clean") {
delete(rootProject.buildDir)
Expand Down Expand Up @@ -201,6 +202,7 @@ fun Project.configureBaseExtension() {
"intermediates",
"optimized_processed_res",
"release",
"optimizeReleaseResources",
"resources-release-optimize.ap_"
)
val optimized = File("${zip}.opt")
Expand Down Expand Up @@ -236,3 +238,18 @@ subprojects {
configureBaseExtension()
}
}

project(":core") {
project(":core") {
afterEvaluate {
if (property("android") is LibraryExtension) {
val android = property("android") as LibraryExtension
android.run {
buildTypes {
release { proguardFiles(rootProject.file("share/lspatch-rules.pro")) }
}
}
}
}
}
}
8 changes: 4 additions & 4 deletions gradle/lspatch.versions.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[versions]
room = "2.5.2"
room = "2.6.1"
accompanist = "0.27.0"
compose-destinations = "1.9.42-beta"
shizuku = "13.1.2"
hiddenapi-refine = "4.3.0"
hiddenapi-stub = "4.2.0"
compose-bom = "2023.06.01"
kotlin = "1.8.21"
ksp = "1.8.21-1.0.11"
compose-bom = "2024.05.00"
kotlin = "1.9.23"
ksp = "1.9.23-1.0.20"
commons-io = "2.13.0"
beust-jcommander = "1.82"
google-gson = "2.10.1"
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
20 changes: 10 additions & 10 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute

echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2

goto fail

Expand All @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe

if exist "%JAVA_EXE%" goto execute

echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2

goto fail

Expand Down
14 changes: 1 addition & 13 deletions manager/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ android {
}

buildTypes {
debug {
isMinifyEnabled = true
proguardFiles("proguard-rules-debug.pro")
}
release {
isMinifyEnabled = true
proguardFiles(
Expand All @@ -41,21 +37,13 @@ android {
}
}

kotlinOptions {
jvmTarget = "17"
}

kotlin {
jvmToolchain(17)
}

buildFeatures {
compose = true
buildConfig = true
}

composeOptions {
kotlinCompilerExtensionVersion = "1.4.7"
kotlinCompilerExtensionVersion = "1.5.13"
}

namespace = "org.lsposed.lspatch"
Expand Down
4 changes: 3 additions & 1 deletion patch-loader/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,11 @@ androidComponents.onVariants { variant ->

task<Copy>("copySo$variantCapped") {
dependsOn("assemble$variantCapped")
dependsOn("strip${variantCapped}DebugSymbols")
val libDir = variant.name + "/strip${variantCapped}DebugSymbols"
from(
fileTree(
"dir" to "$buildDir/intermediates/stripped_native_libs/${variant.name}/out/lib",
"dir" to "$buildDir/intermediates/stripped_native_libs/$libDir/out/lib",
"include" to listOf("**/liblspatch.so")
)
)
Expand Down
7 changes: 0 additions & 7 deletions share/android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,6 @@ android {
androidResources = false
buildConfig = false
}

buildTypes {
release {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"))
}
}
}

dependencies {
Expand Down
9 changes: 9 additions & 0 deletions share/lspatch-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-keepnames class org.lsposed.lspd.deopt.*
-keepnames class org.lsposed.lspd.hooker.** { *; }
-keepnames class org.lsposed.lspd.impl.LSPosedContext
-keepnames class org.lsposed.lspd.impl.LSPosedHelper
-keepnames class org.lsposed.lspd.impl.LSPosedHookCallback
-keepnames class org.lsposed.lspd.util.Hookers
-keepnames class org.lsposed.lspd.util.LspModuleClassLoader

-keepattributes SourceFile,LineNumberTable

0 comments on commit 9a4adbb

Please sign in to comment.