mirror of
https://github.com/topjohnwu/Magisk.git
synced 2026-06-01 21:58:55 +02:00
Use tools:sdk-common for build-logic
This commit is contained in:
@@ -18,4 +18,5 @@ gradlePlugin {
|
||||
|
||||
dependencies {
|
||||
compileOnly(libs.android.gradle.plugin)
|
||||
compileOnly(libs.android.build.sdk.common)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import com.android.build.api.artifact.ArtifactTransformationRequest
|
||||
import com.android.build.api.dsl.ApkSigningConfig
|
||||
import com.android.builder.internal.packaging.IncrementalPackager
|
||||
import com.android.ide.common.signing.KeystoreHelper
|
||||
import com.android.tools.build.apkzlib.sign.SigningExtension
|
||||
import com.android.tools.build.apkzlib.sign.SigningOptions
|
||||
import com.android.tools.build.apkzlib.zfile.ZFiles
|
||||
@@ -14,8 +15,6 @@ import org.gradle.api.tasks.Internal
|
||||
import org.gradle.api.tasks.OutputDirectory
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import java.io.File
|
||||
import java.security.KeyStore
|
||||
import java.security.cert.X509Certificate
|
||||
import java.util.jar.JarFile
|
||||
|
||||
abstract class AddCommentTask: DefaultTask() {
|
||||
@@ -39,13 +38,21 @@ abstract class AddCommentTask: DefaultTask() {
|
||||
val inFile = File(artifact.outputFile)
|
||||
val outFile = outFolder.file(inFile.name).get().asFile
|
||||
|
||||
val privateKey = signingConfig.get().getPrivateKey()
|
||||
val config = signingConfig.get()
|
||||
val info = KeystoreHelper.getCertificateInfo(
|
||||
config.storeType,
|
||||
config.storeFile,
|
||||
config.storePassword,
|
||||
config.keyPassword,
|
||||
config.keyAlias
|
||||
)
|
||||
|
||||
val signingOptions = SigningOptions.builder()
|
||||
.setMinSdkVersion(0)
|
||||
.setV1SigningEnabled(true)
|
||||
.setV2SigningEnabled(true)
|
||||
.setKey(privateKey.privateKey)
|
||||
.setCertificates(privateKey.certificate as X509Certificate)
|
||||
.setKey(info.key)
|
||||
.setCertificates(info.certificate)
|
||||
.setValidation(SigningOptions.Validation.ASSUME_INVALID)
|
||||
.build()
|
||||
val options = ZFileOptions().apply {
|
||||
@@ -64,14 +71,4 @@ abstract class AddCommentTask: DefaultTask() {
|
||||
|
||||
outFile
|
||||
}
|
||||
|
||||
private fun ApkSigningConfig.getPrivateKey(): KeyStore.PrivateKeyEntry {
|
||||
val keyStore = KeyStore.getInstance(storeType ?: KeyStore.getDefaultType())
|
||||
storeFile!!.inputStream().use {
|
||||
keyStore.load(it, storePassword!!.toCharArray())
|
||||
}
|
||||
val keyPwdArray = keyPassword!!.toCharArray()
|
||||
val entry = keyStore.getEntry(keyAlias!!, KeyStore.PasswordProtection(keyPwdArray))
|
||||
return entry as KeyStore.PrivateKeyEntry
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[versions]
|
||||
kotlin = "2.3.20"
|
||||
android = "9.1.0"
|
||||
android-tools = "32.1.0"
|
||||
ksp = "2.3.4"
|
||||
rikka = "1.3.0"
|
||||
navigation = "2.9.7"
|
||||
@@ -75,8 +76,9 @@ navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", ver
|
||||
navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "navigation3" }
|
||||
navigationevent-compose = { module = "androidx.navigationevent:navigationevent-compose", version.ref = "navigationevent" }
|
||||
|
||||
# Build plugins
|
||||
# For build-logic
|
||||
android-gradle-plugin = { module = "com.android.tools.build:gradle", version.ref = "android" }
|
||||
android-build-sdk-common = { module = "com.android.tools:sdk-common", version.ref = "android-tools" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "android" }
|
||||
|
||||
Reference in New Issue
Block a user