Hug*_*sco 5 javafx intellij-idea proguard
我正在使用IntelliJ IDEA作为IDE开发JavaFX应用程序.
到目前为止,一切运行顺利,我配置了所有外部库,并正确创建了我的JavaFX工件.
现在我想在创建工件时集成模糊处理(使用Proguard).
IntelliJ在工件属性中有一个"预处理"和"后处理"选项,我可以在其中定义要运行的Ant任务.
但我不知道如何创建该任务并告诉编译器我的混淆选项.
非常感谢您提供任何线索,
最好的祝福
jhs*_*ets 11
您有三种基本方法:
以下是使用Proguard和Ant的第三种方法的基本示例:http: //www.reviewmylife.co.uk/blog/2007/10/20/proguard-eclipse-ant-buildxml/
关于Proguard的重要事项是,你想要混淆的一切都必须在JAR文件中,你需要明确地告诉它不要混淆某些东西(比如你的程序入口点,你通过反射访问的东西等等) ).
JavaFX创建一个文件,用作要防止混淆的入口点:
-keepclasseswithmembers public class com.javafx.main.Main {
public *; public static *;
}
Run Code Online (Sandbox Code Playgroud)
确保包含Java/JavaFX库
-libraryjars "${java.home}/lib/rt.jar"
-libraryjars "${java.home}/lib/ant-javafx.jar"
-libraryjars "${java.home}/lib/jfxrt.jar"
Run Code Online (Sandbox Code Playgroud)
如果您正在使用FXML文件,则需要确保将FXML文件重命名为与其各自的控制器文件类似:
-adaptresourcefilecontents **.fxml
Run Code Online (Sandbox Code Playgroud)
任何使用@FXML注释的内容都是通过反射访问的,所以不要混淆它们:
-keepclassmembernames class * {
@javafx.fxml.FXML *;
}
Run Code Online (Sandbox Code Playgroud)
Proguard网站有很多信息,但可能很难理解.
老实说,网上有很多例子可以告诉你如何做到这一点.只是谷歌javafx proguard,你可能会找到一些很好的完整例子.
编辑:就IntelliJ如何将信息传递给Ant而言......我不知道.它可能会传递一些变量,就像正常的Ant一样.如果你在网上找不到它,我肯定JetBrains网站会在他们的网站上有相关信息.
如果是我,我只是创建一个蚂蚁脚本来编译我的应用程序而不进行混淆,然后在你得到平方后添加proguard.
| 归档时间: |
|
| 查看次数: |
4109 次 |
| 最近记录: |