我正在尝试使用sbt发布ProGuard jar模糊处理的文件。到目前为止,我已经有了这段代码,但它并没有使用sbt publish local
将模糊化的jar推送到本地ivy2 repo中:
artifact in (Proguard, ProguardKeys.proguard) ~= {
art => art.copy(`classifier` = Some("proguard"))
}
addArtifact(Artifact("myJar", "jar", "jar"), assembly in ProguardKeys.proguard)
publishArtifact in ProguardKeys.proguard := true
你以前有没有做过这样的事情或者有什么想法?
非常感谢。
诀窍是:
// do not publish source, javadoc and default jar
publishArtifact in (Compile, packageBin) := false
publishArtifact in (Compile, packageDoc) := false
publishArtifact in (Compile, packageSrc) := false
// add the Proguard jar for publishing
addArtifact(artifact in (Compile, ProguardKeys.proguard), (ProguardKeys.proguard in Proguard) map { xs => xs.head })
通过这个配置,我禁用了源代码、javadoc和默认jar的发布,并添加了由Proguard生成的jar以进行发布。现在publish[Local]
tasks只发布pom和Proguard jar。
我已经设法对Scala代码进行了模糊处理,但我不知道如何对由步骤构建的jar文件运行模糊处理。或者至少在步骤中如何构建fat jar。我发现proguard有一个参数,但我不知道如何将它应用于。谁能告诉我怎么才能做到这一点。 UPD,实际上,Proguard构建的JAR只包含模糊的类,而不包含Proguard忽略的类。
我有一个罐子用另一个罐子做库。我希望它们都被混淆。 引用ProGuard文档: ProGuard要求指定输入jar的库jar(或war、ears、zips或目录)。这些本质上是编译代码所需的库。ProGuard使用它们来重建正确处理所必需的类依赖关系。库罐子本身始终保持不变。您仍然应该将它们放在最终应用程序的类路径中。
我需要为我的一个子项目构建一个jar,包括依赖项,以便它可以用作。 我有一个多模块的sbt项目,这个模块是最低级别的(也是纯Java)。 我可以(例如使用sbt-onejar、sbt-proGuard或sbt组件)覆盖最低级别模块的打包方式吗? 看起来这些工具真的被设计成发布后的步骤,但是我真的需要一个(替换或附加的)发布的人工制品来包含依赖项(但只适用于这一个模块)。 更新:发布sbt程序集是针
我有一个可运行的java jar文件,我们称之为。在这个中,如果我使用7Zip或WinRAR提取它,还有其他罐,让我们称之为。 ProGuard设法混淆了主罐子,但是当我看的时候——里面的lib罐子不是。正因为如此,程序(主rogram.jar)在某一点中断。我也已经在我的条件设置选项。 我通过蚂蚁build.xml.调用proguard.jar,这是我的配置文件
问题内容: 我在AndroidStudio 1.2.1.1和Gradle 1.2.3中使用了ProGuard。 My Gradle的发布版本的配置如下: 我希望混淆类的私有字段。 到目前为止,这是我的proguard配置文件(经过多次尝试): 但是在从AndroidGuard 反编译后,我最终得到了: 我知道这种混淆的使用是有限的,但是我想由ProGuard重命名。怎么做? 这是refcard。
->这是progaurd-rules.pro