TravisCIでAndroidNDKをビルドする必要に迫られてそれなりにハマったのでそのメモになります
できるのであればNDKを使うのはやめた方がいいですが、政治的に使わざるを得ない、レガシーを使っているから仕方ない、など抜き差しならぬ事情に追われている方達にお送りします
失敗パターン
適当にググると下記が出てきました
なんかけったいなところからNDKを落としています、嫌な予感がします
他にもいろいろスクリプトを実行したりいろいろやったりしてみましたが、リンカのエラーやら何かしらのエラーが発生して、 .travis.yml
は複雑化していくもの、正しくビルドできなかったという悲惨な結果でした
成功パターン
部分的にですが、うまくいった例を掲載しておきます
androidなんですが、MacOSXでビルドするためにlanguageを objective-c
にしているのがミソです
これによって brew install
が使えるようになり、シンプルかつ最大限安全にAndroidNDKをCI環境に入れ込むことができます
.travis.yml
language: objective-c
sudo: true
cache:
directories:
- $HOME/Library/Caches/Homebrew
before_install:
- brew update
- brew tap caskroom/cask
- brew install caskroom/cask/android-sdk caskroom/cask/android-ndk
- export ANDROID_HOME=/usr/local/share/android-sdk
- export ANDROID_NDK_HOME=/usr/local/share/android-ndk
- sdkmanager --package_file=[sdkmanagerのドキュメントを参照して依存を書いたファイルを指定して下さい]