Androidでrelease用にビルドをしたときに限って、「Conversion to Dalvik format failed with error 1」というエラーになる問題が再発生した。以前にこのエラーに見舞われたときは、コンソールで、eclipse.exe -clean という具合に起動オプション付きでeclipseを立ち上げたら解決したが、今回はそれでも解決しなかった。プロジェクトをクリーンしたりFix Project Propertiesを実行したり色々ためしたが駄目だった。
気になったのは、debugのときは正常にビルドできるのに、releaseモードで失敗するということだ。これは何故だろうと思って調べたら、proguardを使っているのがエラーの原因だとわかった。proguardはreleaseモードでのみ動作するため、ここで失敗しているのだ。
proguard.cfgに、名前を書き換えないクラスなどを指定すれば、おそらく正常にビルドできるはず。たとえば、layout.xml内で参照しているクラスなどは、名前を書き換えてはいけないクラスに相当する。
だが困ったことに、このプロジェクトはandroid-support-v4.jarを参照していた。これを参照する場合に、proguard.cfgをどのように記述したらいいのか、さっぱり分からなかった。結局挫折して、proguardを使うのをあきらめた。