2017-08-31 47 views
0

我正在使用Jenkins構建Android項目。 我的問題是,除非我禁用緩存詹金斯給了我幾個這樣的錯誤,例如:問題和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文件飯桶。

我不想在Jenkins上使用緩存,因爲我想確保構建總是從頭開始運行。

這種情況下的最佳做法是什麼?我應該離開緩存嗎? 如果我需要關閉它,那麼在開發人員的機器上構建時如何在不停止緩存的情況下執行此操作? 如果我應該保持它,我應該怎麼做才能避免錯誤,並確保構建不會受到緩存中任何奇怪問題的影響?

回答

1

我會建議禁用構建緩存。 如果你不能這樣做,因爲它在源代碼控制之下並且在多個環境中共享,我會使用一些批處理腳本在構建之前創建一個gradle.properties的副本,修改原始的內容以在構建時禁用緩存並在後期製作步驟中將未修改的原稿複製回該位置。 如果一切正常,這個gradle.properties文件將不會被識別爲已修改,因此不會導致任何拉出/檢出衝突。

我做的這幾種與一個以上的文件建立(在C#中我們替換,同時建立並恢復他們在AssemblyInfo.cs中的版本號文件,我們也做了一些文件,街舞與Android版本)

希望這有助於, 歡呼,格里斯

+0

你看到任何問題清洗緩存,而不是? – user6405527

+0

不是技術性的,但爲什麼建立一個緩存(需要時間)並在之後清理(需要更多時間)。我認爲只需簡單地禁用它,而不是爲了後來擦除而創建它就更有效率。 – Grisgram

0

我決定保留緩存。現在我:

1)設置在gradle.property

2構建的緩存目錄)每次清除緩存調用gradlew cleanBuildCache