Files
AutoJs6/libs/imagequant/build.gradle

88 lines
2.2 KiB
Groovy

plugins {
id 'org.autojs.build.utils'
id 'org.autojs.build.properties'
id 'com.android.library'
id 'org.jetbrains.kotlin.android'
}
ext {
projectName = "Image Quantization"
}
def versionMap = [
"libimagequant": "2.17.0",
"libpng" : "1.6.49",
"MIN_SDK" : props["MIN_SDK"] as Integer,
"COMPILE_SDK" : props["COMPILE_SDK"] as Integer,
"TARGET_SDK" : props["TARGET_SDK"] as Integer,
"NDK" : props["IMAGE_QUANT/NDK"],
"CMAKE" : props["IMAGE_QUANT/CMAKE"],
]
def nameMap = [
"PROJECT": ext["projectName"],
"NDK" : "NDK",
"CMAKE" : "Cmake",
]
utils.configureLibraryLifecycleHooks(project, nameMap.PROJECT, [
"libimagequant",
"libpng",
"NDK",
"CMAKE",
].collect { "${nameMap[it] ?: it}: ${versionMap[it]}" }, Collections.emptyList(), null, [".cxx"])
android {
namespace = "org.pngquant"
ndkVersion versionMap.NDK
compileSdk versionMap.COMPILE_SDK
defaultConfig {
minSdk versionMap.MIN_SDK
targetSdk versionMap.TARGET_SDK
externalNativeBuild {
cmake {
cppFlags "-std=c++17"
// @Hint by SuperMonster003 on Aug 28, 2025.
// ! Moved into `target_link_libraries(pngquant_bridge ...)` in `CMakeLists.txt`.
// ! zh-CN: 移至 `CMakeLists.txt` 文件 `target_link_libraries(pngquant_bridge ...)` 代码中.
// # cFlags "-ljnigraphics"
}
}
ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = JavaVersion.toVersion(project.ext.javaVersion)
targetCompatibility = JavaVersion.toVersion(project.ext.javaVersion)
}
kotlinOptions {
jvmTarget = project.ext.javaVersion
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
version versionMap.CMAKE
}
}
}