一、問題
今天在使用正式keystore編譯Android Project輸岀成apk時,遇到Conversion to Dalvik format failed with error 1。
網路上已經提過非常多的解法,
但因為造成這個問題的原因非常多,
所以找到的solution不一定能解決問題。
二、解決辦法
這幾年遇到這個問題很容易的發生原因都是專案裡用的第3方套件在proguard時,因為腳本沒寫齊全造成無法正常編譯成Dalvik格式導致產不了apk。
就我現在的例子來說,
我用了android的support v7兼容性套件來繪製Notification(訊息通知欄),
但我並沒有在腳本檔proguard.cfg或proguard-project.txt替support v7寫混淆腳本,
導致Conversion to Dalvik format failed with error 1。
底下附上support v4要添加的proguard腳本
-libraryjars /你的lib jar檔路徑/android-support-v4.jar -keep class android.support.v4.** { *; } -keep interface android.support.v4.app.** { *; } -keep public class * extends android.support.v4.** -keep public class * extends android.app.Fragment -dontwarn android.support.v4.**
攢寫完腳本後我就可以正常export APK檔了。