2013年3月27日水曜日

64bit CentOS環境のjenkinsでAndroidのテストを実行する

jenkinsには"Android Emulator Plugin"が存在するので、こちらを利用すればAndroidアプリのテストをjenkinsの継続インテグレーションに組み込むことができます。

手順については、@ITの以下記事が良くまとまっているので、ここでは引用まで。
http://www.atmarkit.co.jp/fsmart/articles/androidtest06/01.html

ただ、手元の環境がCentOS6.3だったのですが、その環境でemulatorを動作させようとするとlibstdc++が見つからないという事でエラーになりました。
android create avd -f -a -c 64M -s WVGA800 -n hudson_ja-JP_160_WVGA_android-8 -t android-8
Auto-selecting single ABI armeabi
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Error: /home/jenkins/.jenkins/tools/android-sdk/tools/mksdcard: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Error: Failed to create the SD card.
Error: Failed to create sdcard in the AVD folder.
どうも以下のブログ記事などを見る限りだと、Linux系向けのAndroid SDKは32bitアプリケーションのため、64bit OS環境で動作させるためにはいくつかライブラリをインストールする必要があります。
http://iexcel.wordpress.com/2010/01/25/ia32-libs-for-android-sdk-on-fedora-12-x86_64/

上記ブログはFedora向けの説明ですが、概ねCentOSでも同じで大丈夫です。私は以下のライブラリについて"yum install xxxx"して、ひと通りjenkinsでテストが動くようになることを確認しました。
glibc.i686 
glibc-devel.i686 
libstdc++.i686 
zlib-devel.i686
ncurses-devel.i686 
libX11-devel.i686 
libXrender.i686 
libXrandr.i686



1 件のコメント:

  1. 私も同じ問題で悩んでいましたが、ライブラリインストールでうまくいきました。
    ありがとうございます。

    返信削除