2016-06-13 4 views
1

を使用して難読化する方法を、私はクラスFMSHandlerを作成し、私はFMSCtrl_02.jarという名前の実行可能なjarファイルとしてそれをエクスポートし、プロジェクトが何のmainメソッドを持っていない、とFMSHandlerクラスと呼ばれるプロセス(文字列FMS)内のメソッドがあります。私は、次を含むmyconfig.proファイルを作成したProGuardののlibディレクトリに :私は別のプロジェクトでFMSCtrl_02_out.jarをインポートするときは、ProGuardの

-injars  FMSCtrl_02.jar 
-outjars  FMSCtrl_02_out.jar 
-libraryjars <java.home>/lib/rt.jar 
-printmapping FMSCtrl_02.map 

-keep public class com.example.FMSHandler { 

} 

は今、私は、メソッド・プロセス(文字列FMS)がアクセスできないことがわかりました!正しくコードを難読化する方法

+0

正しくコードを難読化する=あなたは 'process(String)'メソッドを保持したいですか?そうしないと、**便利...あなたが本当に単一のものまで、あなたの(一般に公開)のクラスを減らすことを検討する必要があること**それは完全にイマイチ署名を維持しながらコードを難読化非難読化ライブラリ – zapl

+0

から組み立てられた後にのみ、プロジェクトを難読化したいです - ... **あなたはいわば、*パッケージ/プライベート/ *保護するために他のすべてを変更した後**あなたの「パブリック・インターフェース」と実行ProGuardのを一元化することで、難読化方法をthatsの。 – specializt

+0

@specializt公開クラスは1つだけです。プロセス(..)はメソッドです! – user2121

答えて

1

また、あなたが(正しい署名で)維持したいメソッドを指定する必要があります。

-keep public class com.example.FMSHandler { 
    public void process(java.lang.String); 
} 
+0

はどうやらレビューアが何度も何度もこの変更を拒否...と思い、素敵なthatsのが、ProGuardのは、この方法のため、正しい署名がなければなりません完全修飾タイプを使用する必要があります。public voidプロセスを(java.lang.String) –