2015年6月12日金曜日

Mac OS X Yosemite 10.10.3でParrot社のDroneSDKをAndroid向けにビルド

いろいろな事前準備と予期せぬエラーで大変だったのでメモしておきます。
間違っていたらご指摘ください。コメントなどで補足いただけると幸いです。

※個人メモのコピペなので親切じゃないです。
パスなど環境は適宜に読み替えてください。
※個人の環境によっても発生するエラーが異なるので
がんばってください。。。orz

公式ブログも合わせてご参照ください。
http://ardroneblog.com/ARDroneBlog/DroneBlog/Entries/2015/2/24_Bebop_SDK_in_OSX.html

-------ここから------
Homebrewをインストールして、brewコマンドを使えるようにしておく

Oracle Javaをインストールしてjava -versionでバージョン表示されるようにする

brewコマンドでgit, wget, automake, autoconf, libtool, yasm, nasm, mysqlあたりはインストールできるはず。
※mysqlはなぜかビルド失敗時にそれ関係のログを吐いたので入れてます

rplは以下のURLからダウンロードして解凍してパスに通しておく
http://sourceforge.net/projects/rpl/files/rpl/rpl-1.5.5/

AndroidSDKとAndroidNDKをそれぞれダウンロードして解凍しておく
適当に~/devディレクトリを作成して、~/dev/sdk、~/dev/ndkのように入れておく
次にANDROID_SDK_PATHとANDROID_NDK_PATHにそれぞれSDKのルートまでのパスをとおしておく。
Macだと~/.bash_profileでいいと思います。

$ANDROID_SDK_PATH/tools/androidを起動してAPI14とAPI19の2つに関するもの、
ADTの最新版をインストールしておく。
SupportLibraryなども入れといた方が良さそうです。

~/dev/android_toolchainsディレクトリを作成し、さらに中に
~/dev/android_toolchains/toolchain_arm,
~/dev/android_toolchains/toolchain_mips,
~/dev/android_toolchains/toolchain_x86の3つのディレクトリを作成する

以下のコマンドで上記の3つのディレクトリにツールを入れる
$ANDROID_NDK_PATH/build/tools/make-standalone-toolchain.sh --platform=android-14 --arch=<arch> --install-dir=<your/installation/dir>
【注意】
<arch>はそれぞれarm, mips, x86
<your/installation/dir>はフルパス指定で作成した3つのディレクトリをそれぞれ指定
(例)
<arch>がarmの場合は、
<your/installation/dir>を/Users/tsuyoshi/android_toolchains/toolchain_arm

上記のすべてが終われば事前準備は完了のはず。はず。

ビルドスクリプトをgitからダウンロードする。
~/dev/dronesdkを作成して
cd ~/dev/dronesdk; git clone https://github.com/ARDroneSDK3/ARSDKBuildUtils.git
すでにclone済みの人はgit pullで最新版にしておいてください。

【注意】
以下は、ARSDKBuildUtilsの中のpythonスクリプトが実行できない場合、改行コードが影響していると思われるエラーが出たらやってください。実行できるなら必要ないです。
ARSDKBuildUtils以下にある.pyファイルの改行コードをLFに変換する。
ARSDKBuildUtils/Utils以下にある.bashファイルの改行コードをLFに変換する。

環境セットアップが正しいかどうか必ずCheckEnv.pyを実行してオールグリーンにしておく
ただし、AndroidSDKのAPI19をインストールしてもMissingって出るのは放置。←10.10.3では出なかったな。。。
Platoforms/Android-19があることを確認して、あればおk。

CheckEnv.phを実行してAndroidセクションがOKであれば次はビルドを実行する

./SDK3Build.py -t Androidとすればビルドが開始される

2015/06/05にビルドしたらopensslのダウンロードで証明証エラーでコケる。
opensslで証明証エラーって怖いな。。と思いつつ、手動でダウンロード。
※これは発生しない場合もあったので注意
wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2a.tar.gz -O /Users/[USERNAME]/mydev/drone/dronesdk/ARSDKBuildUtils/../openssl/openssl-1.0.2a.tar.gz
【追記】2015/06/12時点で上記のコマンドではエラーになる。原因はopenssl-1.0.2a.tar.gzがないようだ。openssl-1.0.2b.tar.gzになっているので以下のように手動でダウンロードおよび解凍をしてください。--no-check-certificateオプションは必要に応じて。
wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2b.tar.gz -O /Users/[USERNAME]/mydev/drone/dronesdk/ARSDKBuildUtils/../openssl/openssl-1.0.2a.tar.gz
ダウンロードしたら、手動で解凍します。
cd ../opensslに移動して、tar xzvf openssl-1.0.2a.tar.gzで解凍します。
openssl-1.0.2bと解凍されるので、openssl-1.0.2aにリネームしてください。

そしたら、またARSDKBuildUtilsディレクターに戻って、
再度./SDK3Build.py -t Androidを実行してください。

スペックに依存しますが、10分前後くらい時間かかります。
正常にすべてのビルドが終了すると以下のような表示になるはずです。
そうするとARSDKBuildUtils/Targetsの中にビルド結果ができてますね。
結構面倒です。
がんばってください。。。

0 件のコメント:

コメントを投稿