2016-04-27 12 views
2

Da Google die Unterstützung 23.2.1 ausgibt, fange ich an, VectorDrawable in meinem Projekt zu verwenden. Zuerst nur für TEST, kein Proguard, es funktioniert gut, zeigen und gut gespielt.Pre Lolipop kann AnimatedVectorDrawable nicht wiedergeben, wenn App Proguard verwendet

Aber wenn wir zu bauen und veröffentlichen App planen, verwenden wir

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

in gradle Datei, dann kann es nicht mehr gespielt.

My Play-Methode:

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

Der Fehler:

E/dalvikvm: Klasse 'android.graphics.drawable.AnimatedVectorDrawable', von Verfahren android.support.bab verwiesen wurde nicht gefunden isRunning E/dalvikvm: Konnte die Klasse 'android.graphics.drawable.AnimatedVectorDrawable' nicht finden, die von der Methode android.support.babstart referenziert wurde E/dalvikvm: Konnte die Klasse 'android.graphics.drawable.AnimatedVectorDrawable' nicht finden, auf die verwiesen wurde Methode Android port.b.a.b.stop

danke.

+0

http://stackoverflow.com/questions/35806538/animatedvectordrawable-in-support-library-and-animation-of-pathdata –

+0

Mein Problem ist nicht über Pfadmorphing. Meine Sache ist: Warum Proguard lässt Animation nicht vor lolipop spielen? Was ist falsch an meinem Code? –

Antwort

6

Folgendes Ihre proguard Config hinzufügen:

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

Ich fand dies am build/Ausgänge/Mapping/release/usage.txt suchen, die die Klassen proguard entfernt auflistet. Getestet auf Android 4.4 und 5.1.

+1

vielen dank. Es hilft –

+0

Life Saver. Hatte heute eine App veröffentlicht, und deine Antwort hat mir geholfen. Danke @mark – Shubhral

Verwandte Themen