2013年6月5日

【Android】SDK Tools r22に伴うバグ



SDK Toolsをr21からr22に変更するといろいろ不都合があるので、そのまとめと、修正方法です。


antビルド

とりあえず、SDK Toolsをr22にアップデートすると、アプリのコマンドラインビルドができなくなりました。
原因はr22では、platfom-toolsが、platform-toolsとbuild-toolsに分離された事で、
そちらもインストールしないとビルド出来ませんでした。

1度SDK toolsをアップデートした後に、
再度platform-toolsとbuild-toolsをアップデートしました。

Unityバッチモードでビルド

次に、Unity3Dのバッチビルドすると、

DisplayProgressbar: Detecting Android SDK
Exception in thread "main" java.lang.NullPointerException
at SDKMain.main(SDKMain.java:62)

なんてのが出て、面倒だなぁと思ったんですが、
platform-toolsの一部がbuild-toolsに別れたのが原因だと思い、

$  cp build-tools/17.0.0/aapt platform-tools/
$  cp build-tools/17.0.0/aidl platform-tools/
$  cp build-tools/17.0.0/dexdump platform-tools/
$  cp build-tools/17.0.0/dx platform-tools/
$  cp -R build-tools/17.0.0/lib platform-tools/
$  cp build-tools/17.0.0/llvm-rs-cc platform-tools/
$  cp -R build-tools/17.0.0/renderscript platform-tools/

と、build-toolsの中にあるものをすべてコピーしました。

シンボリックリンクだと、755でコピーされるので、
ファイルのユーザで実行するのであれば問題ないですが、

android-sdkは個人ユーザで、実行するのはJenkinsユーザだったので、
すべてcpにして、Jenkinsにも実行権限を与えて解決しました。