Android - 激活proguard后无法找到Application类

时间:2016-03-14 08:42:25

标签: android proguard android-proguard

在android studio中为我的android应用程序激活proguard后,应用程序因错误而崩溃,说无法找到Mypackage.Application类。

MyApplication类扩展MultiDexApplication

Here是我收到的错误,下面是我的proguard-rules.pro文件:

-libraryjars <java.home>/lib/rt.jar(javax/**)
-keepattributes *Annotation*,InnerClasses,EnclosingMethod,Signature

-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**
-dontwarn rx.**
-dontwarn retrofit.**
-dontwarn okio.**
-keep class retrofit.** { *; }
-keepclasseswithmembers class * {
   @retrofit.http.* <methods>;
}

-keepnames class com.fasterxml.jackson.** { *; }
-dontwarn com.fasterxml.jackson.databind.**

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application

-dontwarn com.marshalchen.ultimaterecyclerview.animators.BaseItemAnimator
-dontwarn com.google.appengine.api.urlfetch.**
-dontwarn org.w3c.dom.bootstrap.DOMImplementationRegistry.**

这里是MyAplication class:

public class MyApplication extends MultiDexApplication {
private static Context mContext;

public static Context getContext() {
    return mContext;
}

@Override
public void onCreate() {
    super.onCreate();
    mContext = getApplicationContext();

    AnalyticsTrackers.initialize(mContext);
  }
}

解决方案是什么?

1 个答案:

答案 0 :(得分:0)

--keepresourcefiles AndroidManifest.xml

这是由proguard默认的,但你可以尝试一下。