2011年12月13日火曜日

ProGuardを実行したときに出たエラーの対処

ProGuardを使ったときに「Conversion to Dalvik format failed with error 1」というエラーが出た場合の話。
以下のページにWorkaroundがあるので、バッチファイルの修正を行えば行けた。

http://wada811.blog.fc2.com/blog-entry-62.html

念のため、内容をコピペしておく。以下引用。

タイトルの通り、「Conversion to Dalvik format failed with error 1」というエラーが出る場合の対処法です。
このエラーが出たらやることは基本的に一つ。Eclipseのクリーンです。
今回はそれでも改善されずにapkファイルが作れなかった場合について書いておきます。

もしかして:Android SDK Tools r12 にバージョンアップした

当てはまる人はこの記事の内容で対処できるはずです。
この問題は既に報告されているようです。
Android SDK tools revision 12 has problem with Proguard - Android - An Open Handset Alliance Project
Android SDK Tools r12 に含まれるProGuardのバージョンが古いためバグを内包しているというもの。
解決法は主に二つ

proguard.batを書き換える
ProGuardの最新版をダウンロードしてきて置き換える

proguard.batを書き換える

[Android SDK]\tools\proguard\bin

を開きます。
proguard.bat をエディターで開きます。
内容をコピーします。(おそらく書き換え禁止になっているので)
エディターを新しく開き、コピーしたものを貼り付けます。

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*



call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

に書き換えます。
proguard.bat というファイル名で保存して元の proguard.bat と置き換えます。
コレでapkファイルを作れるようになったと思います。
一部の人はこれでもできない場合があるらしいです。
ProGuardの最新版をダウンロードしてきて置き換える

ProGuard Java Optimizer and Obfuscator - Browse /proguard at SourceForge.net にアクセスします。
Android SDK Tools に含まれる ProGuard4.4 より新しいものを選ぶ(現在なら 4.6 が最新なので 4.6 が好ましい)
ダウンロードしたファイルを解凍します。
bin フォルダと lib フォルダで Android SDK Tools の proguard フォルダの bin フォルダと lib フォルダを置き換えます。
コレでapkファイルを作れるようになったと思います。

これでも直らない場合はお手上げです。あとは頑張ってください。

0 件のコメント:

コメントを投稿