この記事では、JenkinsがAndroidアプリをビルドするようにセットアップします。 Jenkinsはすでにインストールされている必要があるため、まだインストールされていない場合は、最初にこちらの手順に従ってください。 この記事では、プロジェクトでGitやSubversionなどのバージョン管理を使用していると仮定します。 Gradleと呼ばれる新しいビルドシステムについて主に説明しますが、この記事はAntビルドのセットアップにも使用できます。

必要なソフトウェアのインストール


まず、AndroidSDKをインストールする必要があります。 ダウンロード場所を見つけるには、AndroidSDKダウンロードページにアクセスしてください。 次に、他のプラットフォームの場合は[ダウンロード]をクリックし、Linuxバージョンのリンクをコピーします(SDKツールのみ)。

Download for Other Platforms -> SDK Tools only -> Linux

リンクをコピーしたら、SSHセッションに切り替えます。 CDを/optに挿入し、AndroidSDKをダウンロードします。

cd /opt
wget <link you copied here>

執筆時点では、次のコマンドを実行する必要があります。

wget http://dl.google.com/android/android-sdk_r22.3-linux.tgz

次に、ファイルを解凍します。

tar zxvf <filename of the just downloaded file>

これで、ダウンロードしたファイルを削除できます。

rm <filename of the just downloaded file>

ここで、いくつかの環境変数を設定する必要があります。 /etc/profile.d/android.sh(nano /etc/profile.d/android.sh)を編集し、以下を追加します。

export ANDROID_HOME="/opt/android-sdk-linux"
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

次に、ファイルをリロードします。

source /etc/profile

Gitを使用する場合は、Gitもインストールしてください。

sudo apt-get install git-core

AndroidSDKの構成


プロジェクトをビルドするには、AndroidSDKにいくつかのパッケージが必要です。 まず、SDK自体を更新します(いくつかのライセンスを受け入れる必要があります)。

android update sdk --no-ui

これにより、すべての Androidバージョンがインストールされるため、かなり時間がかかります。 すべてのパッケージをインストールしたくない場合は、詳細をお読みください。

特定のパーツのみをインストールする場合は、SDKの更新に関する詳細情報が thisStackOverflowの質問にあります。

必要になる可能性が最も高いパッケージは、次のコマンドでインストールされます(android-19の「19」を最新のAndroidSDKバージョンに置き換えます。

android update sdk -u --filter platform-tools,android-19

ただし、これではGradleに必要なビルドツールはインストールされません。 そのためには、次のコマンドを実行します。

android list sdk --all

このリストで、AndroidSDKBuild-toolsバージョンxx.xx.xxという最初のアイテムを見つけます。 アイテムの前にリストされている番号を覚えて、以下を実行します。

android update sdk -u --all --filter <number>

AndroidサポートリポジトリとAndroidサポートライブラリについてもこれを行います。

プロジェクトで特定のバージョンのビルドツールを使用することがわかっている場合は、リストでそのアイテムを探します。 これは、build.gradleファイルでbuildToolsVersionとして確認できます。

android {
	buildToolsVersion "18.1.1"
	compileSdkVersion 18
}

また、build.gradleにcompileSdkVersionとして表示される適切なプラットフォームバージョンをインストールします。

ここで、JenkinsがAndroid SDKにアクセスできるようにするには、次のコマンドを実行します。

sudo chmod -R 755 /opt/android-sdk-linux

また、64ビットOSを使用している場合は、32ビットライブラリをインストールします。

sudo apt-get install ia32-libs

次に、ドロップレットを再起動します。

sudo shutdown -r now

Androidプロジェクトの構成


プロジェクトがまだEclipseでビルドされている場合は、ビルドスクリプトを作成する必要があります。 最も簡単なオプションは、Eclipseから直接これを行うことです。[ファイル]-> [エクスポート]に移動し、[Android]->[Gradleビルドファイルの生成]を選択します。 次に、プロジェクトを選択して、[完了]をクリックします。 これにより、JenkinsでビルドできるGradleプロジェクトが作成されます。

Gradleを使用したくない場合でも、ApacheAntを使用できます。 これが何であるかわからない場合、またはGradleプロジェクトのエクスポートが失敗した場合は、この手順をスキップできます。 必要な唯一の手順は、AndroidSDKがインストールされているPCで次のコマンドを実行することです。

android update project -p .

Jenkinsの構成


Jenkinsも構成する必要があります。 まず、JDKをインストールする必要があります。 これを行うには、[Jenkinsの管理]->[システムの構成]にアクセスします。 次に、JDKを見つけて、「JDKの追加」をクリックします。 Oracleアカウントが必要です。 クレデンシャルを入力するには、[JDK]セクションにユーザー名/パスワードを入力してくださいをクリックします。 お持ちでない場合は、次の画面のリンクをたどってください。 それらを入力したら、JDK構成に戻ります。 名前を入力してください–Javaバージョンにちなんで名前を付けることをお勧めします。 次に、[自動インストール]をオンにして、最新のJavaSE開発キットのバージョンを選択します。 これにより、後でJDKがインストールされます。

Antを使用している場合は、Antセクションで同じ手順を実行します。

次に、[Jenkinsの管理]->[プラグインの管理]->[利用可能]にアクセスします。 次のプラグインを確認し、再起動せずにインストールをクリックします。

  • Gradleプラグイン(Antを使用している場合は不要)

  • Gitプラグイン(Gitを使用している場合)

  • Androidエミュレータプラグイン(エミュレータを使用する場合)

これにより、他のいくつかのプラグインが自動的にインストールされます。 Gradleを使用する場合は、JDKと同じ手順を実行してGradleを自動的にインストールします。 これを書いている時点では、Gradle0.9が必要です。 Gradleラッパーを使用している場合、これは必要ありません。 プロジェクトにgradlewファイルがあり、ソース管理にチェックインされています。

ジョブの設定


これで、ジョブをセットアップできます。 [新しいジョブ]をクリックして名前を付け、[フリースタイルソフトウェアプロジェクトの構築]を選択します。 次に、[OK]をクリックします。 [ソースコード管理]セクションで、プロジェクトで使用しているバージョン管理システムを選択し、情報を提供します。 次に、[ビルド]セクションで、Gradleを使用している場合はInvoke Gradleスクリプトを追加し、Antを使用している場合はInvokeAntを追加します。 すべてのパラメータを入力します。 Gradleの場合、これが最も可能性の高いパラメーターになります。

Gradle そしてAntの場合、これらは次のとおりです。

Ant

これでプロジェクトがビルドされますが、APKファイルはまだ保存されません。 これを構成するには、アーティファクトのアーカイブと呼ばれるビルド後のアクションを追加します。 アーカイブするファイルの場合は、**/*.apkと入力します。

[保存]をクリックすると、建物が始まります。 [今すぐビルド]をクリックします。 JDKがインストールされ、しばらくするとビルドが完了します。 プロジェクトのページには、LastSuccessArtifactsという見出しがあります。 ここに、生成されたすべてのAPKファイルが表示されます。

Artifacts

もっと何か?


最初のAndroidプロジェクトは、Jenkinsインスタンス上に構築されています。 おめでとう!

Jenkinsインスタンスは複数のジョブを保持できるため、より多くのAndroidアプリを作成し、開発してください。

Gradleはアプリに自動的に署名することもできますが、この機密情報はbuild.gradleファイルに保存する必要があります。これはお勧めしません。 これは、Jenkinsと組み合わせて使用できる完全なbuild.gradleの例です。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    signingConfigs {
        release {
            storeFile file("keystores/release.keystore")
            storePassword "your-keystore-password"
            keyAlias "your-alias"
            keyPassword "your-alias-password"
        }
    }

    buildTypes {
        release {
            zipAlign true
            signingConfig signingConfigs.release
        }
        debug {
            zipAlign true
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.android.support:support-v4:19.0.0'
}

提出者:http: //koenv.com