8

Jenkins を使用して Android ビルド プロセスを自動化しようとしています。

このサイトへのリンクを達成するために、次のサイトを使用しています

自分のマシンでビルドすることに成功しました。最初に、build.xml ファイルが見つからないというエラーが発生しました (ant を使用したビルドにはこのファイルが必要です)。だから私は「アンドロイド更新プロジェクト」を実行します。したがって、ant に必要なすべてのファイルが自動的に生成されます。

私の問題は、レポをリモートサーバーにホストしようとし、別のマシンからビルドしようとしたときに始まります。それが与えているエラーは、sdk.dirが正しくないということです。プロジェクト フォルダーを分析すると、最初のマシンの SDK パスを含む local.properties というファイルがあり、他のマシンでは間違っています。そのファイルを gitignore に追加します。現在、そのファイルは追跡されていないため、ビルドは失敗しています。

ジェンキンスがリモートリポジトリからプロジェクトを複製した後、antに必要なファイルを自動的に生成する方法はありますか?

4

6 に答える 6

3

リンク先の Web サイトから、sdk.dir の構成方法を正確に説明しています。

環境の構成

jenkins が Ant でプロジェクトをビルドするとき、android sdk フォルダーがどこにあるかを知る必要があります。これを行うには、構成した Ant ターゲット ビルド ステップで [詳細設定] をクリックし、次の変数を [プロパティ] フィールドに追加します。sdk.dir=/opt/android-sdk-linux/

変数の値を、Android SDK がビルド サーバーにインストールされている正しい場所に置き換えることを忘れないでください。

ジョブの構成が完了しました。[保存] をクリックします。ビルドをテストする時間です。

于 2013-02-12T11:17:54.033 に答える
2

また、Jenkins を使用して Android アプリをビルドし、local.properties も編集する必要があります。

私の場合、Jenkins ビルド自体によって SDK へのパスでファイルを更新しました。ビルド開始直前。

Linux で単純な sed コマンドを使用するか、Windows でコンテンツをエコーする (コンテンツを上書きする) ことができます。

フロー例:

  1. SCM - ソースを取得する
  2. local.properties を編集します (前に提案したように)
  3. ant ビルドを実行する

注 - 「Ant の呼び出し」を使用している場合は、local.properties の編集を処理する前に「シェルの実行」ステップを追加する必要があります。

これが役立つことを願っています。

于 2013-02-12T11:17:32.270 に答える
1

jenkins で ant プロパティを構成できます。local.propertiesそのため、jenkins ジョブ構成を通じてすべてのプロパティを指定できます。

もちろん、jenkins ビルド サーバーに Android SDK をインストールする必要があります。

ジェンキンスで ant プロパティを設定する方法については、こちらをお読みください。

複数の開発者と CI がこれらのプロパティに対して異なる値を持つため、local.properties をソース コード管理下に置くことはお勧めできません。

于 2013-02-12T11:18:11.603 に答える
1

はい。

Jenkins 用のAndroid Emulator プラグインをインストールすると、「Android ビルド ファイルの作成」ビルド ステップをジョブに追加できます。

これにより、Jenkins ワークスペース内の Android アプリ、テスト、またはライブラリ プロジェクトが自動的に検出され、必要に応じて build.xml および local.properties ファイルが追加/更新されます。

sdk.dirまたは、Ant ビルド ステップを使用していて、リポジトリに既に build.xml がある場合は、高度な Ant オプションでプロパティを自分で指定することにより、local.properties ファイルを作成する必要を無視できます。

于 2013-02-12T11:17:15.120 に答える
0

構成にビルドステップを追加したいと思い"Create Android build files"ます。Ant ビルドの前に配置します。android update projectこれにより、およびが呼び出されますandroid update lib-project。project.properties でライブラリの依存関係を相対パスで参照していることを確認してください。このような:

# Project target.
target=Google Inc.:Google APIs:19
android.library.reference.1=../external-libs/google-play-services_lib
android.library.reference.2=../external-libs/android-support-v7-appcompat

add ビルド ステップ - Android ビルド ファイルの作成

于 2014-03-23T19:47:20.200 に答える
0

jenkins ワークスペース フォルダーの local.properties ファイルを編集して、正しい sdk パスに変更できます。

于 2013-02-12T11:17:06.717 に答える