Android SDK Tools r12 にバージョンアップする際の注意点

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは~うえじゅんです。

気がついたら最新版のAndroid SDK r13がリリースされています。

SDK Tools

修正点は以下のようです。

  • パスにスペースがある場合、Antでのコンパイル問題を修正。
  • パスにスペースがある場合、エミュレータのインストール問題を修正。
  • AVDのパスにスペースがある場合の問題を修正。
  • エミュレータのスケーリングを使用する場合、レンダリング問題を修正。

最新版の説明はこんなところで、今回はR12にアップデートした際にAPKが作成できなくなって困った時の対処法についてです。
(Eclipse上からのバージョンアップ時にはまだr12が表示されます)

SDK Tools r12 にバージョンアップ

Eclipseのヘルプから更新の確認を行うと"SDK Tools r12"が表示されるはずです。

"r11"等から無事にバージョンアップが終わるとDDMSのロゴが変わります。(かわいくなくなりますw)

最新版好きとしてはついついバージョンアップしてしまうのですが、r12にバージョンアップするとAPKが作成できなくなってしまうことがあります。

ちなみに確実に発生するのかどうかは未確認です。

APKを作成した際に以下のエラーが発生した方はこれから記載する方法を試してみてください。

"Conversion to Dalvik format failed with error 1"

対処法

どうやら原因は"SDK Tools r12"に内包する「ProGuard」のバージョンが古いからのようです。

解決方法は以下のどちらかを試してみてください。

  • 「ProGuard」を最新版にする。
  • 「proguard.bat」を書き換える。

ちなみに私は「ProGuard」を最新版にする対応を行って解決しました。

  • 「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を作成できるようになったのではないでしょうか。

  • 「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を作成できるようになるようです。

今回は大事なところはすべて引用ですw

参考にしたサイトは以下になります。

Androidアプリ開発情報まとめブログ

実はリリース前にアップデートしてしまいAPKが作れなくてとても焦りました・・・

同じような問題にぶつかった方はぜひ試してみてください。

ちなみに最新版のr13で発生するかどうかはわかりません。