2012-04-17 10 views
21

私はproguardをzipファイルにカプセル化して、私のハードディスクに展開しました。私はそれを(私は方法を知らなかったので)何らかの方法でインストールしませんでした。私はproguard.config=proguard.cfgをproject.propertiesファイルに追加しました。私はそれから、「輸出アンドロイド・アプリケーション」を実行して、プロイガード・インストールがどこにあるのかわからないと不平を言うことを完全に期待していましたが、苦情はありませんでした。実際、新しいapkファイルが私のキーストアに現れ、私のアプリのproguardサブディレクトリに一連のファイル(dump.txtなど)が現れました。 mapping.txtは、長い変数名から1つと2つの文字変数へのマッピングの素敵なリストのように見えます。これは、プロガードが何らかの形で働いているという強力な証拠でなければなりません。私の唯一の懸念は、APKがこれまでよりも小さくてもほとんどないということです。 apkにプロゴアードの難読化が含まれていることを確認する方法はありますか?Proguardがその仕事を完了したかどうかを確認する方法

答えて

43

通常のサイズは、ProGuardのが働いているかどうかを示しますが、次のことができます -

  1. 使用Dex2Jar開き
  2. jarファイルにコードを表示するJd-Guiと結果のJarファイルをAPKを変換することが含まれています
+2

これは素晴らしい動作です - 多くの感謝! – Pete

+1

dex2jarの使い方は? – Roel

+1

http://stackoverflow.com/questions/5257830/how-to-use-dextojar – Kuffs

1

@Kuffsメソッドの代わりに、新しいAPKと古いAPKを比較することができます。それらを両方とも開いて(7zipまたはあなたの好みのツールで)、それぞれのclasses.dexファイルのサイズを比較してください。

あなたのサイズの節約の多くを見ていない可能性がありますいくつかの簡単な理由から:

  • 難読化されていないclasses.dexが難読化されたものよりもはるかに圧縮することができました。これはある程度は常に真実です。
  • リリースビルドを実行しませんでした。 Proguardは、デバッグ難読化されたコードは悪夢であるため、リリースビルドでのみ実行されます。
  • あなたのプロジェクトのProguardの設定は、少なくともコードサイズに関してはあまり効果がありません。私は実際にproguardのコードのインライン設定が以前にjarファイルのサイズを増やすのを見ました!
+0

不明瞭なclasses.dexは、難読化されたものよりもはるかに圧縮できました - >これは難解なclasses.dexのサイズが難読化されたものよりも小さいことを意味しますか? – Rendy

+2

@Rendy難読化された.dexのサイズは、難読化されていない.dexよりも小さくなると常に期待しています。しかし、私はまた、圧縮後のサイズの違いが圧縮前のサイズの違いよりずっと小さいことを期待しています。これは、難読化で圧縮が行うのと同じ作業のいくつか、つまり長い文字列(クラス/メソッド/フィールド名)をはるかに短いものに置き換えるためです。 – vaughandroid

+0

それを得ました!ありがとう! – Rendy

関連する問題