Apktool/brut.apktool/apktool-lib/build.gradle.kts

59 lines
1.7 KiB
Plaintext

val gitRevision: String by rootProject.extra
val apktoolVersion: String by rootProject.extra
// region Determine Android SDK location
val sdkRoot: String? = System.getenv("ANDROID_SDK_ROOT")
val androidJarPath: String = if (sdkRoot == null) {
GradleException("Missing ANDROID_SDK_ROOT").printStackTrace()
"com.google.android:android:4.1.1.4"
} else {
val androidVersion = 33
File("$sdkRoot/platforms/android-$androidVersion/android.jar").path
}
// endregion
tasks {
processResources {
from("src/main/resources/properties") {
include("**/*.properties")
into("properties")
expand("version" to apktoolVersion, "gitrev" to gitRevision)
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
from("src/main/resources") {
include("**/*.jar")
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
includeEmptyDirs = false
}
test {
// https://github.com/iBotPeaches/Apktool/issues/3174 - CVE-2023-22036
// Increases validation of extra field of zip header. Some older Android applications
// used this field to store data violating the zip specification.
systemProperty("jdk.util.zip.disableZip64ExtraFieldValidation", true)
}
}
dependencies {
api(project(":brut.j.dir"))
api(project(":brut.j.util"))
api(project(":brut.j.common"))
implementation(libs.baksmali)
implementation(libs.smali)
implementation(libs.xmlpull)
implementation(libs.guava)
implementation(libs.commons.lang3)
implementation(libs.commons.io)
implementation(libs.commons.text)
testImplementation(libs.junit)
testImplementation(libs.xmlunit)
compileOnly(files(androidJarPath))
}