1

proguard を使用して、jar ファイル内の 2 つのクラスを難読化しようとしています。私のクラスの1つに12個のメソッドがあります。コマンドとGUI形式でproguardを実行します。しかし、12 のメソッドのうち 2 つのメソッドだけが難読化され、他の 10 のメソッドは消失しました。なぜこれが起こるのか知っている人はいますか?(エラーなしで実行されます)別の問題は、プライベートに変換されたクラスのパブリックメソッドであるため、jarファイルを新しいプロジェクトに追加すると、別のプロジェクトではアクセスできません。ありがとう

    this is my config file:
-injars       PKTB.jar
-outjars      PKTB_out.jar
-libraryjars  "J:\Program Files (x86)\Java\jdk1.6.0\jre"
-libraryjars   "C:\Users\Mohsen\Downloads\bcprov-jdk15on-147.jar"
-libraryjars  "C:\Users\Mohsen\Downloads\bcpkix-jdk15on-147.jar"

-printmapping proguard.map
-keep public class pktb.PKTB{
    public static void main(java.lang.String[]);
}
4

1 に答える 1

3

proguardは、未使用のクラス、メソッド、および変数を削除します。「縮小オプション」の下で-dontshrinkここを確認してください

mainメソッドだけでなく、jarの外部で使用されるメソッド/クラス名を保持する必要があります。-keep「オプションの保持」の下にある同じリンクのオプションを確認します

于 2012-10-31T11:21:58.060 に答える