当前位置: 首页 > 知识库问答 >
问题:

用Proguard混淆java应用程序的Gradle任务

鄂伟兆
2023-03-14

我需要混淆一个Java应用程序,它依赖于许多外部JAR。该应用程序由许多模块组成,每个模块都包含API和实现JAR。基本上,我需要创建一个gradle任务来混淆所有这些jar,这些jar可以稍后在Jenkins的构建过程中使用。有许多关于Proguard的文档,但大部分都涉及Android应用程序。

已经提到官方的ProGuard留档在这里:ProGuard Gradle插件

共有1个答案

冀弘济
2023-03-14

我可以通过以下gradle配置实现这一点

>

def dependsDir = "${System.getProperty('user.dir')}/dependencies/"
task copyDepends(type: Copy) {
  from configurations.compile
  into "${dependsDir}"
}

创建类型为proguard的渐变任务。格拉德尔。前进任务。INJAR列表在目录中可用,并在gradle任务中迭代名称。

buildscript {
repositories {
  mavenCentral()
}
dependencies {
  classpath 'net.sf.proguard:proguard-gradle:6.0.3'
  classpath 'net.sf.proguard:proguard-base:6.0.3'
}
}
 task proguard(type: proguard.gradle.ProGuardTask) {
    configuration 'proguard.conf'
    def inputDir = new File("${System.getProperty('user.dir')}/inputJars")
   def  outputDir = "${System.getProperty('user.dir')}/inputJars"
    println ("List of jars for obfuscation : ")
    inputDir.eachFileRecurse (FileType.FILES) { file ->
          println(file.getName())
          injars file
          outjars "${outputDir}/${file.getName()}"
      }

   libraryjars "${System.getProperty('java.home')}/lib/rt.jar"
   libraryjars "${System.getProperty('java.home')}/lib/jce.jar"
   libraryjars "${System.getProperty('user.dir')}/dependencies/"
 }
 类似资料:
  • 问题内容: 由于fxml- files使用Controller类来处理事件,因此如何混淆JavaFX应用程序?当混淆的conntroller类具有不同的名称和路径时,fxml文件将找不到它们。 混淆后编辑fxml文件不是我想要的解决方案。 还有其他选择吗? 问题答案: 没有意义重塑轮子; 快速的google搜索产生了这个网站。 它使用Proguard混淆器。

  • 我对混淆有问题。为了获得更好的想象力: JAVA代码 本机代码 在我想发布一个混淆版本之前,一切都很好。这个类中的Java类(例如)和方法的名称被proGuard重命名为“a”和“a()”(这可能并不总是相同的),但在本机代码中,方法和类的原始名称保持不变,因为它被硬编码为字符串,如下所示: ...有没有办法动态设置方法名?

  • 我正在努力解决JavaFX应用程序的模糊问题。以本项目为基础: Proguard配置文件:-dontoptimized-dontshrink 有人有JavaFX模糊处理的经验吗?

  • 问题内容: 混淆Java Web应用程序值得吗?为什么呢? 问题答案: 否。代码存储在服务器上,希望外部用户无法访问该服务器。如果您认为值得(最低限度)的IP保护,则可能希望混淆JavaScript。 最好的办法是确保服务器的安全性达到最高水平,并且您没有对应用程序目录的开放访问权限(无论如何都不应该发生)。

  • 问题内容: 但是,最终还是推荐了yGuard和另一个ProGuard,但都没有提到两者。我想知道我们是否可以对每个人进行比较,并从围栏的两侧听到人们的经历。查看ProGuard网站上的比较表,它与ProGuard明显成角度。但是,每种产品的实际经验如何- 哪一种产品的产量较小?哪一个更难以反编译?每个版本支持哪些Java版本? 我个人从J2ME的角度特别感兴趣,但是请不要将讨论仅限于此。 问题答案

  • 本文向大家介绍Android 一些常用的混淆Proguard,包括了Android 一些常用的混淆Proguard的使用技巧和注意事项,需要的朋友参考一下 一些公共的模板 一些自定义的模板 aar中增加独立的混淆配置 检查混淆和追踪异常 开启 Proguard 功能,则每次构建时 ProGuard 都会输出下列文件: dump.txt 说明 APK 中所有类文件的内部结构。 mapping.txt