找不到引用的方法'android.widget.ProgressBar access $ 400'

时间:2017-09-20 13:22:17

标签: android proguard android-proguard

通过proguard生成已签名的APK时出现以下错误:

Warning:com.package.myactivity$1$1: can't find referenced method 'android.widget.ProgressBar access$400(com.package.myactivity)' in program class com.package.myactivity

这是我的计划配置:

-dontwarn okio.**
-dontwarn okhttp3.**
-dontwarn com.squareup.okhttp.**
-dontwarn com.google.appengine.**
-dontwarn javax.servlet.**
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
public static *** i(...);
public static *** e(...);
public static *** w(...);
}

app.gradle:

release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }

任何解决这个问题的方法都表示赞赏。

提前致谢,

1 个答案:

答案 0 :(得分:0)

尝试保留View课程。可以使用以下规则来完成:

-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);
}