はじめに
Windows 環境にて Android SDK を r22 へバージョンアップしたところ maven の mvn コマンドがエラー発生するようになってしまいハマったのでメモしておきます。
Android SDK って?
Android アプリを作るための SDK です。Android App も作れるし、 NDK も作れちゃうし。その上 Eclipse がベースになってなじみ易いのに加えて、Windows, MacOS, Linux で動作する開発環境です。
[maven]((http://maven.apache.org/) って?
Apache プロジェクトで作られている包含ツール。POM(Project Object Model) に則って色々できるようにしているみたいです。
Java 界隈ではスタンダードなプロジェクト管理ツールなんですかね?(ごめんなさい、Java 界隈は詳しくないものでして・・・)
原因と解決方法
mvn コマンドでビルドしてみると aapt.exe が無いと言われちゃいます。
Android SDK r22 からは、従来 ${ANDROID_HOME}/platform-tools に置かれていた一部コマンドプログラムを ${ANDROID_HOME}/build-tools 以下に配置するようになったようです。この構造変更で aapt.exe が ${ANDROID_HOME}/build-tools 以下に変更されて mvn コマンドが aapt.exe が見つけられないのが問題の原因でした。
当初は環境変数 path へ aapt.exe が配置されているフォルダを追加したんですが、なぜかうまくいかず。
次に ${ANDROID_HOME}/build-tools/**/ の中身を ${ANDROID_HOME}/platform-tools 以下にコピーすることで mvn コマンドでビルドができるようになりました。
(Windows ってシンボリックリンクがないのでコピーするしかないのよね(;_;))
おわりに
ここで提示した解決方法はアドホックなものとなります。
おそらく maven のバージョンアップやら pom.xml を見直せば解決できるとは思うのですが、私にはそのようなスキルや調査する時間が無いので build-tools の中身を platform-tool へコピーする手法をとりました。
どなたか、筋の良い解決方法を提示していただけたら幸いです。
おまけ
Android SDK r22 の aapt.exe の引っ越し問題で Unity もビルドできなくなったようでフォーラムにスレッドが立てられていました。
結構影響範囲大きいのかな?