Edited at

Gradleのビルド完了時に音を鳴らす(Base64編)

More than 5 years have passed since last update.

参考:http://blog.tomorrowkey.jp/2014-05-15/my-build-system-crow-meow/

わざわざビルド完了時に音を鳴らすだけのためにmp3を用意してサーバに置いたりするのめんどくさいし

ローカルに置いてもチーム開発だとソース管理にmp3を入れるのもなんか違うし

というわけで、音声ファイルをBase64エンコードして文字列にしておいて、再生時にデコードさせるようにしてみました。

エンコードは事前に何らかの方法でしておいてください。


ayase.gradle

android.applicationVariants.all { variant ->

if (variant.install != null) {
variant.install.doLast {
String data = "<Encoded Base64 String>"
String path = "${temporaryDir}/finish_sound"

def file = new File(path)
file.bytes = data.decodeBase64()

['afplay', path].execute()
}
}
}


Gistもどうぞ。

https://gist.github.com/consomme/cee9b260911c00e06b38

Special thanks : @tomorrowkey @geta6

追記:デコードファイルの出力先を temporaryDir に修正しました。 thx @vvakame