如何在intellij IDEA上使用proguard?

问题描述 投票:3回答:1

我正在使用Intellij IDEA开发Java桌面应用程序。我想使用proguard混淆我的源代码。如何在Intellij IDEA 2016.1.14上集成/使用proguard?

java proguard
1个回答
1
投票

我还没有尝试过(我想先找到简单的方法),但是,如果您按照以下步骤操作,它应该可以工作。我将尝试此方法并进行报告。

  1. 转到此链接,了解如何创建Ant build file for IntelliJ IDEA

  2. 转到此处下载yGuard

  3. 解压缩yGuard存档并导航到doc目录。

  4. 有一个html“如何”文件。继续阅读,您应该准备发布缩小的代码。

  5. 可选:在网上搜索yGuard提示和技巧,以充分利用自己的构建。

---工作提示---

[1.0]在IntelliJ 2017中,有一个选项可以在生成菜单上生成Ant生成文件。 Build->Generate Ant Build File对我有用的设置是单一生成文件,使用提供的项目名称检查了所有其他内容。

[[1.1] View->Tool Windows->Ant Build,这应该带您从该答案的步骤5th step和步骤1的链接的4获得的知识中所需的位置。

这是我正在执行的yGuard任务:

<target depends="artifact.project" name="yguard">
<taskdef name="yguard"
         classname="com.yworks.yguard.YGuardTask"
         classpath="yguard.jar"/>
<yguard>

  <inoutpair in="${temp.jar.path.project.jar}"
             out="${artifact.output.project}/project-release.jar"/>

    <shrink
            logfile="shrinklog.xml">
        <keep>
            <class classes="protected"
                   methods="protected"
                   fields="protected"/>
        </keep>
    </shrink>

</yguard>

然后您将“全部”修改为如下所示:

  <target name="all" depends="build.modules, build.all.artifacts, yguard"
          description="build all">
      <!-- Delete temporary files -->
      <delete dir="${artifacts.temp.dir}"/>

  </target>

并且您必须从delete temporary files目标中删除build.all.artifacts操作,因此当您到达all目标时,文件仍然可用。

就像在底部的yGuard html doc中说的那样,IntelliJ会抱怨您的yGuard语法,但是yGuard仍然可以使用。

[如果有人可以清理,请放心。它对我有用,您的里程可能会有所不同。同样,在添加了Project Structure->Artifacts->Post Processing中所述的“微小”蚂蚁构建之后,您将能够创建一个非常小的蚂蚁构建xml,并使用WORKING-NOTES: [1.1] "5th step"。为此肯定需要进行一些手工操作。

© www.soinside.com 2019 - 2024. All rights reserved.