Rename APK in gradle: Android Studio friendly solution

延續之前討論的 rename APK 的問題, 那樣的寫法在 CLI 使用 gradle 時一切正常, 但如果把 project 匯入 Android Studio, 在 build 的時候會有奇怪的事情發生:

  • 如果跟我一樣在檔名安插 gitHash, commit 新的 change 之後在 Android Studio compile & run 時會抱怨檔案找不到, 此時會發現 Android Studio 要求的檔名為上一次的 gitHash 值, 但實際上新的檔案已經產生在 build/apk 目錄下.

- 就算沒有使用動態檔名, 偶爾也會發生產生的檔名會回復成原本的名稱.

目前懷疑 Android Studio 會 cache 輸出的檔案路徑, 其實也算合理, 因為沒事除了切換 variant 檔名的確不會改變.

我自己採用折衷的方法: 把編譯好的 apk 移到另一個目錄並且更名. 一方面對 Android Studio 而言, 一切如常, 如果要調出檔案分享到指定的目錄找尋即可; 另一方面我還是可以享受編譯好檔案即更名的好處.

相關 code 可參考這裡 https://gist.github.com/shakalaca/6422811


comments powered by Disqus