我想在Gadle完成构建应用程序后收到通知,
请注意,除了Android Studio中使用的常用语句外,我对Gradle并不熟悉,但很高兴我能学到一些东西。
到目前为止,我所见过的最好的方法似乎是使用announce
和build-announcements
插件,如this link中所述。不幸的是,它一般是针对Gradle的,我看不到如何使其适应Android Studio的构建系统。顺便说一句,我在Windows上并已安装Snarl,但不知道如何使其与Android Studio一起使用。
与本教程中一样,我将两个插件都应用于了我的app / build.gradle。
我首先尝试改编this SO question中的代码。由于没有真正的信息,因此我将这些行写在gradle文件的根目录。
assembleRelease.doLast {
announce.local.send "Gradle Info Task", 'Running'
println gradle.gradleVersion
announce.announce("helloWorld completed!", "local")
}
但是,Gradle甚至无法同步,并引发以下错误:
无法获得类型为org.gradle.api.Project的项目':myApplication'的未知属性'assembleRelease'。
然后,我尝试创建一个像this other SO question所示的任务:
task notification() {
announce.local.send "Gradle Info Task", 'Running'
println gradle.gradleVersion
announce.announce("helloWorld completed!", "local")
}
build.finalizedBy(notification) //
这不会引发任何错误,但不会显示任何通知。
为什么我的尝试失败了?我如何实现我的目标?
如果可能的话,非常欢迎您提供有关如何自行搜索该信息的信息。
答案 0 :(得分:1)
实现所需需求的最简单方法:
在Android Studio中,进入Preferences > Appearance & Behavior > Notifications
,转到Gradle Build(记录)并选中“朗读”框。
这将说明Gradle构建在完成构建后的x分钟和x秒内完成。
答案 1 :(得分:0)
您需要添加插件announce和build announcements。 支持以下目的地:Twitter,notify-send(Ubuntu),Snarl(Windows),Growl(macOS)。这些是必需的插件:
rootProject {
apply plugin: "announce"
apply plugin: 'build-announcements'
}
并完成构建过程(请参见supported notification services)
// it finalizes :assemble
task finalizeBuild {
doLast {
println(":finalizeBuild > doLast")
announce.announce("task :assemble completed!", "snarl")
}
}
tasks.whenTaskAdded { task ->
if (task.name == "assembleDebug") {
task.finalizedBy finalizeBuild
} else if (task.name == "assembleRelease") {
task.finalizedBy finalizeBuild
}
}