2012-08-01 147 views
3

我知道如何可執行的JAR文件混淆由於它有一個主類。但我試圖創建我的API(它已經完成),我只需要混淆代碼。問題是,每當我嘗試使用Proguard(一個衆所周知的Java混淆器)對jar文件進行混淆時,它會給我一個關於'keep'的錯誤。我從Proguard的運行ProGuard的圖形用戶界面,並在Eclipse中,我出口項目作爲一個正常的jar文件(不可執行),我試圖混淆的是jar文件。另外,我沒有在我的jar文件中包含.classpath和.project文件。如果任何人可以請幫助/指導我在Proguard中混淆非可執行的jar文件,這將是非常有用的和讚賞。謝謝。Proguard的混淆JAR文件

注:我使用ProGuard的GUI混淆,沒有什麼做的命令行。

形象的問題: enter image description here

回答

3

在爲Proguard的您的配置文件,你需要指定要保留哪些類,否則Proguard的只會降低了一切。 最常見的一種保持線看起來像:

-keep my.applications.package.* 

-keep my.applications.package.MainClass 

您可以找到Proguard webpage

+0

沒有主類,但是,這是一個外部庫。 :P這就是爲什麼我會對做什麼感到困惑。 – 2012-08-01 20:03:15

+0

我想說的是,在我的任何課程中都沒有主要的方法。 – 2012-08-01 20:08:45

+1

在「8.典型庫」下的proguard頁面上還有一個例子。 – evilcandybag 2012-08-02 19:40:26

3

CFR的ProGuard手冊>示例配置文件的例子>A typical library

GUI有一個用於處理庫的複選框。

+0

該參考文獻很受歡迎。我沒有看到任何這樣的複選框,可以請分享圖像或參考。 – 2015-07-14 12:11:46

+0

Opps,錯誤的地方。往上看。 – 2017-02-01 23:41:42