Xamarin.forms Android App ProGuard启用应用程序大小且不会减少

时间:2018-07-09 12:35:17

标签: xamarin.forms android-proguard

Xamarin.forms Android应用程序我具有Enable ProGuard,但我的应用程序大小仍然为34 MB,这是一个非常大的大小,有人可以在这里建议出什么问题了。

  1. 我有启用Proguard。
  2. 我也启用了Multi-Dex,我也尝试了不使用此选项,但没有任何改变。
  3. 我为某些类和API添加了Custom ProGuard,它们在默认情况下不起作用。
  4. 链接选择我已选择“仅SDK装配”

请在这里找到我的Custom ProGuard文件:

-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep class android.support.annotation.** { *; }
-dontwarn android.support.annotation.*
-keep class android.support.v7.widget.FitWindowsFrameLayout { *; }
-dontwarn android.support.v7.widget.FitWindowsFrameLayout
-dontwarn com.google.android.gms.**
-keep class com.google.android.gms.**
-dontwarn com.microsoft.appcenter.utils.**
-dontwarn com.microsoft.appcenter.push.**
-keepattributes Signature
-keepattributes InnerClasses
-dontoptimize
-keep class org.apache.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class javax.servlet.** { *; }
-keepnames class org.ietf.jgss.** { *; }
-dontwarn org.apache.**
-dontwarn org.w3c.dom.**
-dontwarn com.auth0.jwt.**

-dontwarn android.support.v4.**

-keep class * extends com.myCompany.package.flavor.Flavor { *; }
-keep class com.myCompany.** { *; }

-keep class org.spongycastle.** { *; }
-dontwarn org.spongycastle.**

-dontwarn com.google.common.collect.MinMaxPriorityQueue
-dontwarn javax.swing.**
-dontwarn java.awt.**
-dontwarn org.jasypt.encryption.pbe.**
-dontwarn java.beans.**

-dontwarn org.bouncycastle.crypto.**
-dontwarn freemarker.template.**

-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}

-keepclassmembers class **.R$* {
public static <fields>;
}

0 个答案:

没有答案