2

コードを書くときに ProGuard/DexGuard を効果的に利用する方法に関するガイドラインはありますか? クラスは難読化できないため、すべての機密データをActivityクラス自体に配置するのではなく、別のクラスに配置することをお勧めします。ActivityProGuard/DexGuard を最大限に活用できるようにアプリケーションをコーディングするにはどうすればよいですか? アプリケーションの破損を避けるために ProGuard/DexGuard を使用する予定の場合、コーディング時に何かルールはありますか?

4

2 に答える 2

1

はい、あなたは正しいです。

すべての「秘密の」コードを難読化されたメソッドに入れ、パブリック メソッドのみが難読化されたメソッドを呼び出せるようにします。

public static void main(final String[] args) {
    SecretKnowHowWorker.doWork(args);
 }

main難読化できない、または難読化すべきではありませんが、残りは難読化されます。Eclipse では、難読化された jar ファイルをクリックすると、[参照ライブラリ] をクリックして、難読化されたものとそうでないものを確認できます。

于 2012-11-26T21:20:55.603 に答える
1

アクティビティ クラスは完全に難読化できますが、一部のメソッドの名前は難読化できません (onCreate()たとえば、難読化できません)。そのため、既知のメソッド (フレームワークで呼び出したいこれらすべて) などのエントリ ポイントのに機密情報を配置すると、より良いはずです。また、独自のアプリをクラックして、デコード後にどのように見えるかを確認し、見栄えを悪くするためにいくつかの努力をすることをお勧めします:)

于 2012-11-26T21:23:30.200 に答える