当app使用Proguard时,Pre Lollipop无法播放AnimatedVectorDrawable

时间:2016-04-27 03:47:40

标签: java android

由于Google发布了支持23.2.1,我开始在我的Project中使用VectorDrawable。 首先,只是用于TEST,没有proguard,它工作正常,显示和播放正常。

但是当我们计划构建和发布应用时,我们使用

minifyEnabled true and            
proguardFile file('proguard-rules.txt')

在gradle文件中,然后,它再也无法播放了。

我的游戏方式:

Drawable drawable = imageView.getDrawable();
    if (drawable instanceof AnimatedVectorDrawableCompat) {
        if (((AnimatedVectorDrawableCompat) drawable).isRunning()) {
            ((AnimatedVectorDrawableCompat) drawable).start();
        }
    }

错误:

  

E / dalvikvm:找不到类' android.graphics.drawable.AnimatedVectorDrawable',从方法android.support.b.a.b.isRunning中引用    E / dalvikvm:找不到类' android.graphics.drawable.AnimatedVectorDrawable',从方法android.support.b.a.b.start中引用   E / dalvikvm:找不到类' android.graphics.drawable.AnimatedVectorDrawable',从方法android.support.b.a.b.stop引用

1 个答案:

答案 0 :(得分:6)

将以下内容添加到您的proguard配置中:

-keep class android.support.graphics.drawable.** { *; }

我通过查看build / outputs / mapping / release / usage.txt找到了这个,它列出了proguard删除的类。在Android 4.4和5.1上测试过。