我正面臨着一個問題,那就是我使用的矢量繪圖與動畫矢量繪圖一起使用。在API級別15+以上,所有內容都一直在正常工作。Android - 已簽名的APK - 動畫矢量不起作用
今天,當我準備發佈更新時,我構建了一個簽名APK,並進行了最後一輪測試,令人驚訝的是所有矢量動畫都停止工作。我只看到簡單的矢量圖像,但沒有應用於其路徑的矢量動畫。 它只能在Android M平臺上工作。它不工作任何其他平臺,甚至沒有棒棒糖。 他們都在開發工作很好,我真的不明白,我無法找到可能的原因。我唯一想到的是proguard-rules.pro
文件,因爲這是唯一區分APK的簽名版本與dev版本的區別。 有人可以拋出一些光,並幫助我解決這個問題。我現在堅持使用該版本,無法在任何地方找到解決方案。
我已經使用this方法向量(它是我自己的答案)。而對於矢量動畫,我只是這樣寫的
<animated-vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:drawable="@drawable/vector_img"
tools:ignore="NewApi">
<target
android:animation="@anim/slide_up"
android:name="slab_one"/>
</animated-vector>
我使用gradle 1.5.0
。這是我的build.gradle
文件的一些相關部分看起來像 -
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
multiDexEnabled true
generatedDensities = []
}
aaptOptions {
additionalParameters "--no-version-vectors"
}
dexOptions {
javaMaxHeapSize "4g"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:support-vector-drawable:23.4.0'
compile 'com.android.support:animated-vector-drawable:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
}
真的很感謝您的幫助。提前致謝 !
如果它適用於您的開發建設而不是在你的發行版,那麼我建議你檢查下''buildTypes' release'塊(假設你有一個)在你的'gradle'文件中,它可能會阻塞某些資源。我有一個類似的問題,外部庫不包含在發佈版本中。 – Pztar
Hi @Pztar:我的'release'模塊並不特別,可能會阻塞資源。它看起來像這樣 - buildTypes { 發佈{ minifyEnabled真正 proguardFiles getDefaultProguardFile( 'proguard的-android.txt'), 'proguard-rules.pro' }} 我堅信它得做proguard文件。是否有任何必須特別添加的規則來支持「動畫向量可繪製」? – Shubhral