時間がかかってしまいましたが、Mac での calabash-android のインストールと実行についてです!
Windows 版 calabash-android のエントリー
も参考にしてください。
以下の環境が必要です。
Android SDK (ANDROID_HOME を設定)
J2SDK (JAVA_HOME を設定)
Xcode コマンドライン・デベロッパ・ツール (多分必要です。)*1
具体的には ~/.bash_profile に以下を追加しました。
ANDROID_HOME=/Applications/adt-bundle-mac-x86_64/sdk JAVA_HOME=`/usr/libexec/java_home` PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools export PATH ANDROID_HOME JAVA_HOME
今回のエントリーでは Mac OS X 10.9 での例です。10.8 などではバージョンなどが変わると思いますのでご注意ください。
ではインストールを始めます。
Ruby はインストールされてます。インストールされてない場合は、MacPort とかで 2.0 系を引っ張ってくると良いかと思います。私の環境では以下のバージョンがインストールされています (adb は PATH が通っているかの確認用)。コマンドが通らない場合は PATH が通ってないので source ~/.bash_profile などしてください。
$ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13] $ java -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode) $ adb version Android Debug Bridge version 1.0.31
$ sudo xcode-select --install
でインストールするという情報もありましたが、
10.9 はこれではインストールできないようです。App Center からダウンロード、インストールしました。トラップ!!><
calabash-android をインストールします。
結論からいうと、
$ sudo gem install calabash-android ではインストール出来ません。
$ sudo gem install calabash-android Password: Building native extensions. This could take a while... ERROR: Error installing calabash-android: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb checking for main() in -lc... yes creating Makefile make "DESTDIR=" compiling gherkin_lexer_ar.c ragel/i18n/ar.c.rl:440:1: warning: control may reach end of non-void function [-Wreturn-type] } ^ ext/gherkin_lexer_ar/gherkin_lexer_ar.c:864:18: warning: unused variable 'lexer_en_main' [-Wunused-const-variable] static const int lexer_en_main = 1; ^ 2 warnings generated. linking shared-object gherkin_lexer_ar.bundle clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the future make: *** [gherkin_lexer_ar.bundle] Error 1 Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/gherkin-2.12.2 for inspection. Results logged to /Library/Ruby/Gems/2.0.0/gems/gherkin-2.12.2/ext/gherkin_lexer_ar/gem_make.out
何で検索したのか忘れてしまいましたが、
ruby - Install Calabash-Android causes error on OS X Mavericks - Stack Overflow
の下の回答にある以下のコマンドでインストールしたところ、無事インストール出来ました。(リンク先は calabash-cucumber なので calabash-android に書き換えています)
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install calabash-android
インストールできました!!
$ calabash-android version 0.4.21
後は、Windows 版の calabash-android のエントリー を参照してください。
Mac は標準の文字コードが UTF-8 なので、魔法の言葉 "set RUBYOPT=-EUTF-8" は不要ですし、"calabash-android gen" で作成される feature ファイルも UTF-8 で保存し直す必要もありません。
手順の書き方は
に公開されていますので、是非試してみてくださいー。
次は calabash-ios を頑張ります。
参考サイト:
calabash-android documentation - GitHub / Troubleshooting Installation / Mac
*1:本家のエラー対策として必要との記述がありました。 https://github.com/calabash/calabash-android/blob/master/documentation/installation.md