3

自宅にいくつかのサイドプロジェクトアプリがあります。Jenkinsインストールをセットアップして、それらをチェックアウトし、APKをビルドしてから、受話器に転送して遊んでいます。

これらのいくつかを市場に自由にリリースしたいと思っているので、証明書で署名して最終的なAPKを準備する必要があります。

Jenkinsからこれを行うことは可能ですか?たとえば、「開発中」のAPKを生成するビルドターゲットを1つ作成し、そのターゲット(または別のターゲット)で最終的なAPKファイルを作成して準備を整えることができますか?

何かアドバイス?

4

3 に答える 3

5

署名が(コマンドラインなどによって)自動的に実行できる場合、答えは「はい」です。

これを実現する方法はいくつかありますが、まず、すべてのビルドに署名しない正当な理由はありますか?

すべてのビルドに署名するということは、リリース可能なアーティファクトを作成するために追加の構成が必要ないことを意味し、テストするものとデプロイするものが同じであることを知っています。

署名するビルドを選択したい場合は、次の2つのアプローチが思い浮かびます。

  • パラメータ化されたビルド:これらは、[今すぐビルド]をクリックしたときにカスタマイズできる環境変数です。後でビルドステップで反応するフラグを追加できます。

  • メインビルドジョブからアーティファクトを取得して署名する別のジョブを追加しますhttps://jenkins-server/job/jobname/lastSuccessfulBuild/artifact/。ここで、または次のいずれかのアプローチを使用します。別のジョブ2からハドソンjob1アーティファクトにアクセスする方法

于 2011-03-18T18:14:30.110 に答える
5

標準のAndroidantビルドファイルには、リリースターゲットが含まれています。これは、さらに構成せずに開始した場合、署名されていないapkをビルドするだけです。Christopherが署名付きビルドを行うように指摘したようにkey.store、、、key.store.passwordおよびを使用してkey.aliaskey.alias.passwordキーストアを構成し、antスクリプトを介して署名付きapkを生成できます。これに関するドキュメントは、ビルドの構成に関する詳細情報を提供する場合があります。

于 2011-03-18T18:22:08.423 に答える
2

はい...imhoの最も簡単な方法は、MavenAndroidプラグインを使用して自動化することです。サンプルプロジェクトには、私が書いたMorseFlashの例があり、jarsigning、zipaligning、proguard run、開発構成と本番構成の切り替えなど、リリースプロセス全体が自動化されています。

これはすべてコマンドラインで実行できるため、Hudsonで実行できます。ところで、興味があれば、AnDevConでMavenとAndroid、およびAndroidのテストとCIについてのプレゼンテーションを行いました。スライドは、私のWebサイトにあります。http://www.simpligility.com

于 2011-03-22T23:28:29.023 に答える