Fix native method registration

This commit is contained in:
LoveSy 2023-02-26 01:25:25 +08:00 committed by LoveSy
parent d671dc535e
commit 559f2860dd
3 changed files with 8 additions and 13 deletions

View File

@ -16,6 +16,7 @@ jobs:
CCACHE_NOHASHDIR: "true" CCACHE_NOHASHDIR: "true"
CCACHE_MAXSIZE: "1G" CCACHE_MAXSIZE: "1G"
CCACHE_HARDLINK: "true" CCACHE_HARDLINK: "true"
CCACHE_BASEDIR: "${{ github.workspace }}"
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3

View File

@ -809,8 +809,8 @@ namespace lspd {
static JNINativeMethod gMethods[] = { static JNINativeMethod gMethods[] = {
LSP_NATIVE_METHOD(DexParserBridge, openDex, LSP_NATIVE_METHOD(DexParserBridge, openDex,
"(Ljava/nio/buffer/ByteBuffer;[J)Ljava/lang/Object;"), "(Ljava/nio/ByteBuffer;[J)Ljava/lang/Object;"),
LSP_NATIVE_METHOD(DexParserBridge, closeDex, "(J)V;"), LSP_NATIVE_METHOD(DexParserBridge, closeDex, "(J)V"),
LSP_NATIVE_METHOD(DexParserBridge, visitClass, LSP_NATIVE_METHOD(DexParserBridge, visitClass,
"(JLjava/lang/Object;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V"), "(JLjava/lang/Object;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V"),
}; };

View File

@ -17,7 +17,6 @@
* Copyright (C) 2021 LSPosed Contributors * Copyright (C) 2021 LSPosed Contributors
*/ */
import com.android.build.gradle.BaseExtension
import com.android.ide.common.signing.KeystoreHelper import com.android.ide.common.signing.KeystoreHelper
import java.io.PrintStream import java.io.PrintStream
import java.util.* import java.util.*
@ -84,15 +83,14 @@ android {
namespace = "org.lsposed.daemon" namespace = "org.lsposed.daemon"
} }
fun afterEval() = android.applicationVariants.forEach { variant -> android.applicationVariants.all {
val variantCapped = variant.name.capitalize(Locale.ROOT) val variantCapped = name.capitalize(Locale.ROOT)
val variantLowered = variant.name.toLowerCase(Locale.ROOT) val variantLowered = name.toLowerCase(Locale.ROOT)
val outSrcDir = file("$buildDir/generated/source/signInfo/${variantLowered}") val outSrcDir = file("$buildDir/generated/source/signInfo/${variantLowered}")
val signInfoTask = tasks.register("generate${variantCapped}SignInfo") { val signInfoTask = tasks.register("generate${variantCapped}SignInfo") {
dependsOn(":app:validateSigning${variantCapped}") dependsOn(":app:validateSigning${variantCapped}")
val app = rootProject.project(":app").extensions.getByName<BaseExtension>("android") val sign = signingConfig
val sign = app.buildTypes.named(variantLowered).get().signingConfig
val outSrc = file("$outSrcDir/org/lsposed/lspd/util/SignInfo.java") val outSrc = file("$outSrcDir/org/lsposed/lspd/util/SignInfo.java")
outputs.file(outSrc) outputs.file(outSrc)
doLast { doLast {
@ -115,11 +113,7 @@ fun afterEval() = android.applicationVariants.forEach { variant ->
) )
} }
} }
variant.registerJavaGeneratingTask(signInfoTask, outSrcDir) registerJavaGeneratingTask(signInfoTask, outSrcDir)
}
afterEvaluate {
afterEval()
} }
dependencies { dependencies {