Android 从Gradle执行Shell脚本

示例

Shell脚本是一种非常通用的方法,可以将您的构建扩展到您能想到的任何东西。

例如,这是一个简单的脚本,用于编译protobuf文件并将结果java文件添加到源目录中以进行进一步编译:

def compilePb() {
    exec {
        // 注意:如果协议文件中存在错误,则gradle将失败...
        executable "../pbScript.sh"
    }
}

project.afterEvaluate {
    compilePb()
}

此示例的“ pbScript.sh” shell脚本位于项目的根文件夹中:

#!/usr/bin/env bash
pp=/home/myself/my/proto

/usr/local/bin/protoc -I=$pp \
 --java_out=./src/main/java \
  --proto_path=$pp \
 $pp/my.proto \
 --proto_path=$pp \
 $pp/my_other.proto