2016-06-20 3 views
3

私が使用して試してみました:ProGuardの中アンドロイドジャックコンパイラProGuardのルールからログを削除しない

-assumenosideeffects class android.util.Log { 
    public static boolean isLoggable(java.lang.String, int); 
    public static int v(...); 
    public static int i(...); 
    public static int w(...); 
    public static int d(...); 
    public static int e(...); 
} 

をログを削除するには、と私は新しいジャックコンパイラ

defaultConfig { 
    ... 
    jackOptions { 
     enabled true 
    } 
} 
compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
} 
を使用していない場合、それは素晴らしい作品

私はapkをコンパイルすると、プロダクションリリースですべてのログがアクティブになっていることに気付きました。エラー、バグ、または "-assumenosideeffects"はまだサポートされていませんか?

最後のapkのログから文字列を削除することはできますか?

答えて

1

ジャックコンパイラツールチェーンを使用する場合、ProGuardは使用されません。代わりに、Jackは独自のツールを使用して指定されたルールを適用します。

すべてのProGuardルールがサポートされているわけではありません(directives参照)。-assumenosideeffectsで、はサポートされていません。

注:ProGuardの商用バージョンはProGuardのすべての指令をサポートしており、バージョン7.2以降のJackと組み合わせて使用​​して1-2週間後にリリースすることができます。

+0

はい、https://source.android.com/source/jack.htmlを見ると、「無視されたオプション」に-assumenosideeffectsがリストされていますが、動作していないか、まだ実装されていないことがわかります。 – Antonio

+0

ジャックはこのようなルールに遭遇したときにエラーを投げませんが、何もしません。 –

+0

だから** Jack **はプロダクションAPKのセキュリティホールを引き起こしますか? –

関連する問題