Androidアプリ リリースバージョンでClassNotFoundException

Debug中では起こらなかった、ClassNotFoundExceptionが必ず発生するエラーを仕込んだままリリースするという事故が起きた。
デバッグでは、コンパイルできて正しく実行できているのに、リリースでコンパイルしたapkファイルを逆コンパイルして確認してみると、あるはずのclassファイルが消えてなくなっている・・・。

丸1日調査して解決したのが、どうもProGuardでやらかしているようだ。

もともとの原因は、今まで開発していた環境から Android SDK Toolsのバージョンアップをr16にアップデートした事が始まりっぽい。
どうも古いProGuardの設定が悪さをするようだ・・・。

下記ブログその手順どおりやって、どうにか対処できました。
http://wada811.blog.fc2.com/blog-entry-62.html


Android toolのExport Signed Application packeageからビルドすると、最後に「Conversion to Dalvik format failed with error 1」などが出た場合は、プロジェクトのcleanをしてから再度実施。

当然だと思われるかもしれないが、リリースする前にコンパイルしたapkファイルは一度実機で動作確認してから、リリースしたほうがよさそうだ。