mirror of
https://github.com/topjohnwu/Magisk.git
synced 2026-07-28 14:47:21 -07:00
Use tools:sdk-common for build-logic
This commit is contained in:
@@ -18,4 +18,5 @@ gradlePlugin {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(libs.android.gradle.plugin)
|
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.artifact.ArtifactTransformationRequest
|
||||||
import com.android.build.api.dsl.ApkSigningConfig
|
import com.android.build.api.dsl.ApkSigningConfig
|
||||||
import com.android.builder.internal.packaging.IncrementalPackager
|
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.SigningExtension
|
||||||
import com.android.tools.build.apkzlib.sign.SigningOptions
|
import com.android.tools.build.apkzlib.sign.SigningOptions
|
||||||
import com.android.tools.build.apkzlib.zfile.ZFiles
|
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.OutputDirectory
|
||||||
import org.gradle.api.tasks.TaskAction
|
import org.gradle.api.tasks.TaskAction
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.security.KeyStore
|
|
||||||
import java.security.cert.X509Certificate
|
|
||||||
import java.util.jar.JarFile
|
import java.util.jar.JarFile
|
||||||
|
|
||||||
abstract class AddCommentTask: DefaultTask() {
|
abstract class AddCommentTask: DefaultTask() {
|
||||||
@@ -39,13 +38,21 @@ abstract class AddCommentTask: DefaultTask() {
|
|||||||
val inFile = File(artifact.outputFile)
|
val inFile = File(artifact.outputFile)
|
||||||
val outFile = outFolder.file(inFile.name).get().asFile
|
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()
|
val signingOptions = SigningOptions.builder()
|
||||||
.setMinSdkVersion(0)
|
.setMinSdkVersion(0)
|
||||||
.setV1SigningEnabled(true)
|
.setV1SigningEnabled(true)
|
||||||
.setV2SigningEnabled(true)
|
.setV2SigningEnabled(true)
|
||||||
.setKey(privateKey.privateKey)
|
.setKey(info.key)
|
||||||
.setCertificates(privateKey.certificate as X509Certificate)
|
.setCertificates(info.certificate)
|
||||||
.setValidation(SigningOptions.Validation.ASSUME_INVALID)
|
.setValidation(SigningOptions.Validation.ASSUME_INVALID)
|
||||||
.build()
|
.build()
|
||||||
val options = ZFileOptions().apply {
|
val options = ZFileOptions().apply {
|
||||||
@@ -64,14 +71,4 @@ abstract class AddCommentTask: DefaultTask() {
|
|||||||
|
|
||||||
outFile
|
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]
|
[versions]
|
||||||
kotlin = "2.3.20"
|
kotlin = "2.3.20"
|
||||||
android = "9.1.0"
|
android = "9.1.0"
|
||||||
|
android-tools = "32.1.0"
|
||||||
ksp = "2.3.4"
|
ksp = "2.3.4"
|
||||||
rikka = "1.3.0"
|
rikka = "1.3.0"
|
||||||
navigation = "2.9.7"
|
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" }
|
navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "navigation3" }
|
||||||
navigationevent-compose = { module = "androidx.navigationevent:navigationevent-compose", version.ref = "navigationevent" }
|
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-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]
|
[plugins]
|
||||||
android-application = { id = "com.android.application", version.ref = "android" }
|
android-application = { id = "com.android.application", version.ref = "android" }
|
||||||
|
|||||||
Reference in New Issue
Block a user