15
16

More than 5 years have passed since last update.

CentOS7 JenkinsでAndroidアプリをビルドする 1/2

Last updated at Posted at 2015-11-14

環境

  • CentOS 7.1
  • Oracle JDK 8u65
  • Android SDK
  • Gradle
  • BitBucket

概要

Jenkins自体がAndroidのビルド環境を提供してくれるわけではありません。

今回は、Jenkinsが動いているサーバー内にAndroidのビルドができる環境を構築し、

  • CentOS上に、Androidのビルド環境を構築
    • JDKのインストール
    • Android SDKのインストール
    • SDKマネージャによるアップデート
  • BitBucketからプロジェクトのクローン
  • Gradleによるビルド

次回、Jenkinsの設定を行い、ビルドを実行してみたいと思います。

CentOS上に、Androidのビルド環境を構築

JDKのインストール

  • JDKのダウンロード&インストール
wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.rpm
yum localinstall jdk-8u65-linux-x64.rpm
  • Oracle JDKを利用するように設定
vi /etc/profile.d/java.sh

#!/bin/bash
JAVA_HOME=/usr/java/jdk1.8.0_65
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME
export CLASSPATH=.
  • 実行権限の付与
chmod +x /etc/profile.d/java.sh
  • 確認(あとでJenkinsの設定で利用します)
echo $JAVA_HOME

/usr/java/jdk1.8.0_65

Android SDKのインストール

  • Android SDK
    • Android SDKを配置したディレクトリは、あとでJenkinsの設定で利用します
wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgzwget 
tar xvf android-sdk_r24.4.1-linux.tgz
mv android-sdk-linux/ /var/lib/jenkins/ # Jenkinsが参照できるディレクトリに配置
chown -R jenkins:jenkins android-sdk-linux/
  • SDK Managerによるアップデート
    • すべてのプラットフォームがインストールされるので、時間がかかります。
    • JUnitで複数バージョンのテストをする予定なので、全部インストールしましたが、ターゲットが決まっているなら、選択した方が良いかもしれません。
tools/android update sdk --no-ui

BitBucketからプロジェクトのクローン

  • 予め、ローカル環境でビルド可能なプロジェクトをコミットしておきます。
    • 必要なのは、プロジェクトなので、CVSは、GitHubでも、Subversionでも構いません。
git clone https://bitbucket.org/{ユーザー名}/com.sample.test01.android.git

Gradleによるビルド

とりあえず、gradleコマンドを叩いてビルドできるか確認

  • 『BUILD SUCCESSFUL』と表示されれば成功です
ANDROID_HOME=/var/lib/jenkins/android-sdk-linux ./gradlew build --stacktrace

エラーが表示される場合

  • 『ava.io.IOException: Cannot run program "〜/build-tools/23.0.2/aapt": error=2, そのようなファイルやディレクトリはありません』
    • そのようなファイルがある場合でも、エラーが表示されます……。
    • 『aapt』が64bit対応していないので、それ用のライブラリが必要なんだそうな。
yum install -y ld-linux.so.2
yum install -y libz.so.1
yum install -y libgcc_s.so.1

どうでもよいことだけど、
El Captanにアップデートしてから、ことえりの変換がおかしくて、”Jenkins”と入力すると、時々、"Jankins"になっていることがある……。
一文字違うだけで、執事から危ない奴になった。

15
16
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
15
16