我试图让Proguard正常工作,但我对Gradle还是陌生的。我的构建gradle.kts出现错误(未解决的参考:proguard),我无法创建proguard任务:
plugins {
id("com.github.johnrengelman.shadow") version "5.2.0"
java
kotlin("jvm") version "1.3.61"
}
group = "*...*"
version = "*...*"
repositories {
mavenCentral()
jcenter()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
//*...*
implementation("net.sf.proguard","proguard-gradle","6.2.2") //is this correct?
}
configure<JavaPluginConvention> {
sourceCompatibility = JavaVersion.VERSION_1_8
}
tasks {
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
jar{
manifest {
attributes["Main-Class"] = "*...*"
}
}
shadowJar{
archiveBaseName.set("*...*")
archiveClassifier.set("")
archiveVersion.set("")
}
register<proguard.gradle.ProGuardTask>("myProguardTask") { //Unresolved reference: proguard
}
}
这是不是一个Android项目因为Stackoverflow希望我编写的不仅仅是代码:我打算以某种方式将proguard输出链接到shadowjar任务。如果您知道该怎么做,我也对此很感兴趣(由于这个问题,我自己也无法尝试)。
您在项目中声明了proguard的依赖关系,而不是Gradle本身。
将依赖项移至buildscript
块:
buildscript
然后您应该可以创建任务。
或者,您可以在buildscript {
repositories {
jcenter()
}
dependencies {
classpath("net.sf.proguard:proguard-gradle:6.2.2")
}
}
中声明存储库:
settings.gradle.kts
将修剪pluginManagement {
repositories {
jcenter()
}
}
中的buildscript
块:
build.gradle.kts