2016-05-10 11 views
0

64K制限を超えたアプリケーションをテストしようとしています。デバッグ可能な値がtrueに設定されていると、Progaurdが小さくなりません。

私はminifyをオンに設定しましたが、デバッグ可能にすると機能しません。しかし、デバッグ可能なバージョンをビルドした場合、それを2/3縮小します!

何か不足していますか?これは私のGradleファイルの関連部分である:あなたのコードが難読化されますと、デバッグができなくなります有効

-keep class .R 
-keep class **.R$* { 
    <fields>; 
} 
-keepattributes *Annotation* 
-keepclassmembers class ** { 
    @org.greenrobot.eventbus.Subscribe <methods>; 
} 
-keep enum org.greenrobot.eventbus.ThreadMode { *; } 

-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent { 
    <init>(java.lang.Throwable); 
} 

-dontwarn com.google.** 
-dontwarn com.squareup.picasso.** 


-dontnote com.google.** 
-dontnote com.squareup.picasso.** 

答えて

0

ProGuardのでは:

buildTypes { 
    release { 
     minifyEnabled true 
     debuggable false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
    debug { 
     minifyEnabled true 
     debuggable true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

proguard-rules.pro。だから、あなたがデバッグしてフラグをtrueに設定したいとき、proguardはアクティブにならないので、apkの縮小を見ることができません。

チェックthis post。同様の質問があり、状況をよく理解するのに役立ちます。

+0

私は実際に質問する前にその投稿を見ました。彼らはそれが混在することを暗示しているという印象を受けました。厄介なことは、縮小後には29K未満のメソッドがあることです。落としたもののほとんどはGoogleからのものです。 – theblitz

+0

私が気付いたもう一つのことは、これがデバイスに直接実行された場合にのみ発生するということです。私がビルドしたら(Build-> Build APKを使用)、minifyが機能します。 – theblitz

関連する問題