android – 运行Proguard后损坏或丢失了矢量drawable

我正在申请我正在使用下面提到的矢量drawable

 <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="100dp"
android:height="100dp"
android:viewportHeight="100"
android:viewportWidth="100">

<path
    android:name="curve_left_atrium"
    android:pathData="M4,48C4,22.6,24.6,2,50,2"
    android:strokeColor="#eb273f"
    android:strokeWidth="4"
    android:trimPathEnd="0" />
 <path
    android:name="curve_right_atrium"
    android:pathData="M96,48C96,22.6,75.4,2,50,2"
    android:strokeColor="#eb273f"
    android:strokeWidth="4"
    android:trimPathEnd="0" />
   </vector>

这在调试版本中工作得非常好,但在发布版本中运行proguard后它已经破坏了.

下面提到了gradle文件中的设计和appcompat库的版本.

    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'

编译和构建版本是

   compileSdkVersion 23
  buildToolsVersion = "23.0.1"

并支持我在gradle中完成的向量.

   defaultConfig {

    generatedDensities = []

   }

   aaptOptions {
    additionalParameters "--no-version-vectors"
  }

在设计和支持库的proguard我已经做到了这一点

     -dontwarn android.support.v7.**
    -keep class android.support.v7.** { *; }
   -keep interface android.support.v7.** { *; }

  # support design
 -dontwarn android.support.design.**
 -keep class android.support.design.** { *; }
 -keep interface android.support.design.** { *; }
 -keep public class android.support.design.R$* { *; }

 -dontwarn android.support.**

这个问题甚至在这里打开了

https://code.google.com/p/android/issues/detail?id=209558#makechanges

任何帮助将不胜感激.谢谢.

最佳答案 在我的情况下,这一行帮助我:

-keepattributes LocalVariableTable

点赞