若要對,是由assembly
任務之前建造你應該build.sbt覆蓋inputs
設置一個jar文件中的Proguard的混淆:
ProguardKeys.inputs in Proguard := Seq(baseDirectory.value/"target"/s"scala-${scalaVersion.value.dropRight(2)}"/s"${name.value}-assembly-${version.value}.jar")
這說明你的脂肪罐子作爲Proguard的單個輸入。你也可能想要修改用於混淆的輸入庫。下面是如何排除所有圖書館的例子:
ProguardKeys.libraries in Proguard := Seq()
最後禁用輸入濾波器,因爲你只有一類來源:
ProguardKeys.inputFilter in Proguard := { file => None }
上述要求,因爲Proguard的將排除META-INF/MANIFEST.MF
文件中的設置默認。
ProguardKeys.merge in Proguard := false
最後加assembly
依賴於你的Proguard的任務:此外,由於assembly
任務已經完成這一步一步合併不再需要
(ProguardKeys.proguard in Proguard) <<= (ProguardKeys.proguard in Proguard).dependsOn(assembly)
嗨@Zyoma,我無法使用SBT -proguard插件。 Sbt一直抱怨說它無法解決依賴關係。你是否必須添加一個解析器到你的build.sbt文件才能讓proguard工作?謝謝。 – jithinpt
嗨@Zyoma,你用什麼命令來製作混淆的jar? – jithinpt