2017-10-06 2 views
6

私はJenkinsとAndroidアプリを構築しようとしており、Jenkinsのスレーブマシンをほとんど制御できません。私は、Android SDKがスレーブにインストールされている必要があるアプリケーションを構築するためにAndroid SDK Gradle Buildの一部としてダウンロード

は、そうでない場合は私が期待通りに取得する:。

「SDKの場所が見つからないlocal.propertiesファイルまたはとsdk.dirと場所を定義しますANDROID_HOME環境変数です。 "

そのような場合、構築プロセスの一環としてSDKをダウンロードし、それを通常の依存関係として使用するようにグラデーションを設定できますか?

これは意味がありますか?

ありがとうございました。

+0

これを参照してください:https://github.com/codepath/android_guides/wiki/Building-Gradle-Projects-with-Jenkins-CI#install-the-android-sdk –

+0

提供されたリンクを確認すると、まだステップを指していますJenkinsのスレーブにAndroid SDKをインストールします。私の主張は、私はそれを簡単に行うことができないということです。 – FelipeFraga

答えて

2

Gradle Androidプラグインは、ビルド時に欠落している依存関係を自動的にダウンロードする機能をサポートしています。 Android SDKに関するライセンス契約はのプロジェクトにバンドルする必要があります。

Android Studio(おそらくあなたのdevワークステーション)から承認された場所から受け入れたライセンス契約をコピーし、JenkinsスレーブのAndroid SDKホームディレクトリにコピーされていることを確認してください。

ファイルは、Android SDKフォルダのlicense/フォルダにありますが、正式なドキュメントではlicenses/というディレクトリが参照されています。

+1

申し訳ありませんが、私はあなたが私を誤解したと思います。要点は、Jenkins Slaveを簡単に変更できないため、Android SDKホームがないことです。 – FelipeFraga

+1

私はお詫びします、私は質問を誤解しました あなたは環境変数を介してAndroid SDKホームを設定できるはずです。ビルドディレクトリのサブディレクトリに作成し、そのサブディレクトリを指すように環境変数ANDROID_SDK_HOMEを設定し、そこにライセンスフォルダを移動します。 – cstarner

1

はい、可能です。

apply plugin: 'android-sdk-manager' 
apply plugin: 'com.android.application' 

classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+' 

は、通常の「アンドロイド」プラグインの前に、あなたのbuild.gradleにプラグインを適用Gradleのルートレベルにプラグインを追加SDKのダウンロード

を自動化thisのGradleプラグインをチェックしてください

:このプラグインは現在開発中です。

関連する問題