2017-08-31 7 views
0

私はJenkinsを使用してAndroidプロジェクトを構築しています。私が持っている 問題は、私はキャッシュを無効にしない限り、ジェンキンスさんは私の例のようないくつかのエラーを与えることである。Jenkinsの問題とAndroid用のビルドキャッシュ

12:31:15 AAPT: \?\C:\Windows\System32\config\systemprofile.android\build-cache\34562456245625\output\res\drawable-mdpi-v4\abc_text_select_handle_left_mtrl_dark.png ERROR: Unable to open PNG file

私が共有されているgradle.propertiesファイルでそれをしなければならないだろうので、私はキャッシュを無効にすることはできませんgit。

ビルドが常にゼロから実行されていることを確認したいので、私はJenkinsでキャッシュを使いたくありません。

この場合、どのようなベストプラクティスですか?キャッシュをオンまたはオフのままにする必要がありますか? 私はそれをオフにする必要がある場合、私はそれを行うことができますが、開発者のマシン上に構築中にキャッシュを停止せずに? キャッシュを維持する必要がある場合は、エラーを回避し、キャッシュの奇妙な問題によってビルドが影響を受けないようにするにはどうすればよいですか?

答えて

1

を呼び出すことにより、毎回キャッシュを掃除gradle.property

2)でビルドキャッシュディレクトリを設定します。 ソース管理下にあり、複数の環境で共有されているためにできない場合は、ビルド前にgradle.propertiesのコピーを作成し、ビルド時にキャッシュを無効にするようにオリジナルを修正する少しのバッチスクリプトを使用しますポストビルドステップでは、未修正のオリジナルをその場所にコピーし直します。 すべてが正しく行われた場合、このgradle.propertiesファイルは変更されたものとして認識されず、したがってプル/チェックアウトの競合は発生しません。

私はいくつかの中でこれを行うには、複数のファイル(それらを復元し、その後構築しながら、C#で、我々はAssemblyInfo.csファイルにバージョン番号を交換し、我々はまた、アンドロイドでいくつかのファイル・ヒップホップを構築しません)

を構築します

これが役立つことを願っています。 歓声、Gris

+0

代わりにキャッシュをクリーニングする際に問題がありますか? – user6405527

+0

技術的なものではありませんが、なぜキャッシュを構築(時間がかかります)してから後でクリーニングする(さらに時間がかかります)。後でそれを消去するだけではなく、単に無効にする方が効率的だと思っています。 – Grisgram

0

私はキャッシュを保持することに決めました。今私はよ:

1)私は、ビルドのキャッシュを無効にすることをお勧めしますgradlew cleanBuildCache

関連する問題