Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用proguard的批处理模糊处理_Java_Proguard - Fatal编程技术网

Java 使用proguard的批处理模糊处理

Java 使用proguard的批处理模糊处理,java,proguard,Java,Proguard,我需要混淆jars文件的列表。做这件事最好的方法是什么?。这个jars具有相互依赖性。我是否需要为每个jar编写单独的proguard conf文件,并编写一个脚本对其进行迭代?。或者已有更好的方法吗?最后,我可以通过创建渐变任务来实现这一点 安装最新的gradle 创建一个目录并执行gradle init并选择basic 创建一个文本文件,其中所有指定要混淆的输入jar 创建proguard.conf 使用以下任务更新build.gradle。 buildscript { rep

我需要混淆jars文件的列表。做这件事最好的方法是什么?。这个jars具有相互依赖性。我是否需要为每个jar编写单独的proguard conf文件,并编写一个脚本对其进行迭代?。或者已有更好的方法吗?

最后,我可以通过创建渐变任务来实现这一点

  • 安装最新的gradle

  • 创建一个目录并执行
    gradle init
    并选择basic

  • 创建一个文本文件,其中所有指定要混淆的输入jar

  • 创建proguard.conf

  • 使用以下任务更新build.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'
     new File("${System.getProperty('user.dir')}/injars.txt").eachLine { file ->
          injars "${System.getProperty('user.dir')}/inputjars/${file}"
          outjars "${System.getProperty('user.dir')}/outputjars/${file}"
     }
    
     libraryjars "${System.getProperty('java.home')}/lib/rt.jar"
     libraryjars "${System.getProperty('java.home')}/lib/jce.jar"
     libraryjars "${System.getProperty('user.dir')}/dependencies/"    //All the dependant libraries    
    }