LoginSignup
2
2

More than 5 years have passed since last update.

CentOSにAndroidのCI環境を作ろうとして失敗した

Posted at

要件

ハードウェア要件

  • CentOS-6.4
  • CPU: 6core, 64bit
  • MEM: 12GB
  • HDD: 80GB

ソフトウェア要件

  • Jenkins
  • Androidの各バージョンのエミュレータを複数搭載

失敗した理由

諦めた理由

  • CircleCIを使ったほうが早くて確実な稼働実績があったため
    • ソースコードの機密性保持は権限管理をすることである程度妥協した

作業手順

android-sdk インストール

android-sdk 設置

$ ll /usr/local/share/downloaded/android-sdk
合計 164180
-rwxr-xr-x 1 root root 168119905  5月  8 10:55 2015 android-sdk_r24.2-linux.tgz

tgz解凍

sudo tar -zxvf /usr/local/share/downloaded/android-sdk/android-sdk_r24.2-linux.tgz -C /usr/local/lib/

android-sdk インストール

sudo /usr/local/lib/android-sdk-linux/tools/android update sdk -u -a -t 1,2,3,22,23,24,25,26,27,28,126,127,61,62,63,68,69,70,73,74,75,76,77,78,80,81

環境変数のセット

export ANDROID_HOME=/usr/local/lib/android-sdk-linux/

32bit glibc のインストール

rpmのダウンロード

wget http://ftp.riken.jp/Linux/centos/6/updates/x86_64/Packages/glibc-2.12-1.149.el6_6.5.i686.rpm -P /usr/local/share/downloaded/glibc/
wget ftp://195.220.108.108/linux/opensuse/distribution/11.4/repo/oss/suse/i586/libfreebl3-3.12.9-4.3.i586.rpm -P /usr/local/share/downloaded/libfreebl3/
wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.4/x86_64/os/Packages/libstdc++-4.4.7-3.el6.i686.rpm -P /usr/local/share/downloaded/libstdc++/
wget ftp://ftp.okhysing.is/redhat/6.4/os/x86_64/Packages/libgcc-4.4.7-3.el6.i686.rpm -P /usr/local/share/downloaded/libgcc/
wget ftp://rpmfind.net/linux/centos/6.6/os/i386/Packages/zlib-1.2.3-29.el6.i686.rpm -P /usr/local/share/downloaded/zlib/

chown

sudo chown root:root ¥
/usr/local/share/downloaded/glibc/glibc-2.12-1.149.el6_6.5.i686.rpm ¥
/usr/local/share/downloaded/libfreebl3/libfreebl3-3.12.9-4.3.i586.rpm ¥
/usr/local/share/downloaded/libstdc++/libstdc++-4.4.7-3.el6.i686.rpm ¥
/usr/local/share/downloaded/libgcc/libgcc-4.4.7-3.el6.i686.rpm ¥
 
/usr/local/share/downloaded/zlib/zlib-1.2.3-29.el6.i686.rpm

インストール

sudo rpm -ivh ¥
/usr/local/share/downloaded/glibc/glibc-2.12-1.149.el6_6.5.i686.rpm ¥
/usr/local/share/downloaded/libfreebl3/libfreebl3-3.12.9-4.3.i586.rpm ¥
/usr/local/share/downloaded/libstdc++/libstdc++-4.4.7-3.el6.i686.rpm ¥
/usr/local/share/downloaded/libgcc/libgcc-4.4.7-3.el6.i686.rpm ¥
/usr/local/share/downloaded/zlib/zlib-1.2.3-29.el6.i686.rpm

javaのインストール

jdkの設置

$ ll /usr/local/share/downloaded/jdk/
合計 169216
-rw-r--r-- 1 root root 173271626  5月 11 11:21 2015 jdk-8u45-linux-x64.gz

gz解凍

sudo tar -zvvf /usr/local/share/downloaded/jdk/jdk-8u45-linux-x64.gz -C /usr/local/lib/

javaの優先度を変更する

sudo /usr/sbin/alternatives --install /usr/bin/java java /usr/local/lib/jdk1.8.0_45/bin/java 180000

javaの優先度を確認する

$ sudo /usr/sbin/alternatives --config java
3 プログラムがあり 'java' を提供します。
  選択       コマンド
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
*+ 3           /usr/local/lib/jdk1.8.0_45/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

jenkinsのインストール

yumリポジトリ追加

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

jenkinsインストール

sudo yum install jenkins

サービス起動

sudo service jenkins start

OS起動時に自動的にjenkinsが起動するように設定

sudo chkconfig jenkins on

VirtualBoxをインストールする

dkmsをインストール

sudo yum install dkms

yumリポジトリ追加

sudo wget http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -P /etc/yum.repos.d/

VirtualBoxのインストール

sudo yum install VirtualBox-4.3

VirtualBoxのセットアップ

sudo  /etc/init.d/vboxdrv setup

共有ライブラリのsymlinkを貼る

sudo ln -s /usr/lib64/nvidia-graphics-310.19/libGL.so.1 /usr/lib/virtualbox/libGL.so.1
sudo ln -s /usr/lib64/nvidia-graphics-310.19/libnvidia-tls.so.310.19 /usr/lib/virtualbox/libnvidia-tls.so.310.19
sudo ln -s /usr/lib64/nvidia-graphics-310.19/libnvidia-glcore.so.310.19 /usr/lib/virtualbox/libnvidia-glcore.so.310.19
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2