先日、Android SDK Tools の v23 がリリースされました。
折角なので、最新版のSDKにバージョンアップしたのですが、突如コンパイルが通らなくなってしまいました。
対処方法の発見に時間がかかってしまったので、戒めを込めて対処方法を書かせて頂きます。
問題の原因は、v23になって/tools/support/annotations.jarがフォルダからなくなったことのようです。
どうやら、annotations.jarが存在しないこと以外にもproguard でエラーが発生したり、スマートフォンを接続してリモートデバッグモードができないなど多々問題があったようです。
2014/07/01 23.0.1 Release
昨夜、23.0.1 がリリースされました。
最新版の23.0.1をインストールするとこの問題は発生しなくりました。
発生する環境
- ecliseを利用(※)
- Android SDK v23 以前バージョンでプロジェクトを作成
- NDK(Native Developer Tools)を利用
※Eclipseバージョンは、3.7, 4.2, 4.4 で確認しました。
対処方法
対処方法は、2つ3つあります。(コメント頂きありがとうございました。)僕の環境では、すべての対処方法で問題なく解決することができました。環境によってうまく通らないこともあるかもしれませんので、特に対処1を実行するときにはご注意ください。
対処1 Java Build Path から Android Dependencies を削除する
- プロジェクトを右クリックし、メニューから[Properties]をクリック
- 画面左側のメニューから[Java Build Path]を選択
- [Libraries]タブを選択
- 画面中央一覧から「Android Dependencies」を選択
- 画面右側のボタンから[Remove]を選択
- [OK]ボタンをクリック
- 再コンパイル
対処2 annotations.jar をコピーする
/extras/android/support/annotations/android-support-annotations.jarを/android-sdk-linux/tools/supportにコピーします。
このとき、コピー先のファイル名を「annotations.jar」にすることにご注意ください。
# 例
# <android-sdk>は、自分の環境のAndroid SDKがインストールされたフォルダパスに置き換えてください。
cp -p <android-sdk>/extras/android/support/annotations/android-support-annotations.jar <android-sdk>/tools/support/annotations.jar
対処3 v22のファイルをコピーする
コメントで教えて頂き、AOSPのIsseリストに書かれていた対処方法です。
Android ADK v22 をダウンロード後、該当するファイルをコピーしてね!という内容でした。
ダウンロード後、下記のファイルをそれぞれコピーすれば良いそうです。
- tools/hprof-conv
- tools/support/annotations.jar
- tools/proguard
# 例
# <android-sdk-v22>と<android-sdk-v23>は、自分の環境のAndroid SDKを展開したV22とV23のフォルダパスに置き換えてください。
cp -p <android-sdk-v22>/tools/hprof-conv <android-sdk-v23>/tools/
cp -p <android-sdk-v22>/tools/proguard <android-sdk-v23>/tools/
cp -p <android-sdk-v22>/tools/support/annotations.jar <android-sdk-v23>/tools/support/