我正在申请使用下面提到的矢量绘图的应用程序
source
这在调试版本中工作得非常好,但在发布版本中运行proguard后它已经坏了。
gradle文件中的设计和appcompat库版本如下所述。
<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>
编译和构建版本
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
并支持我在gradle中完成了跟踪的向量。
compileSdkVersion 23
buildToolsVersion = "23.0.1"
在设计和支持库的proguard我已经完成了这个
defaultConfig {
generatedDensities = []
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
这个问题甚至在这里开启
https://code.google.com/p/android/issues/detail?id=209558#makechanges
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
就我而言,这一行帮助我:
-keepattributes LocalVariableTable
答案 1 :(得分:0)
您好我自己解决了这个问题。实际上我必须在proguard文件中添加以下内容
-keep class VectorPlay.** { *; }
-keep interface VectorPlay.**
-keep enum VectorPlay.**
它有效。 感谢大家的帮助。
答案 2 :(得分:0)
我将以下代码添加到dexguard文件以解决问题:
# keep setters in VectorDrawables so that animations can still work.
-keepclassmembers class android.support.graphics.drawable.VectorDrawableCompat$* {
void set*(***);
*** get*();
}
-keepresourcexmlattributenames vector/**
(部分复制自https://code.google.com/p/android/issues/detail?id=209558#makechanges)