gradle在不同系统下适配

有时我们需要自己定制一些gradle的执行task,可能会用到一些系统中的其它环境,这时需要我们针对不同的OS做一些适配。

判断当前系统环境

方法一:
获取os的name判断其中是否包含windows字段


def isWindows() {
    return System.properties['os.name'].contains('windows');
}

方法二:
通过OperatingSystem类中的方法来判断当前环境


def isWindows() {
 return org.gradle.internal.os.OperatingSystem.current().isWindows()
}

获取系统环境变量

在windows环境下可以通过 System.envANDROIDHOME System.env.ANDROID_HOME(注意在path下配置ANDROID_HOME变量)

在linux和mac上可以通过which指令来获取环境变量,比如我要获取adb的环境变量可以通过以下代码获取:


"which adb".execute().inputStream.readLines()[0]

mark:
TODO此方法可以在命令行中调用gradlew命令的时候获取到adb的环境变量,但是如果在Android Studio上直接运行时获取不到的,暂时不知道为什么先mark以下

最近发现其实我们不必滴啊用which adb ,我门可以配置统一的ANDROID_HOME来解决,以前是不知道mac 怎么配置ANDROID_HOME,其实mac配置系统变量也很简单 只需要调用 export命令即可,我们可以修改~/.bash_profile 添加export ANROID_HOME=”“即可。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/wei7017406/article/details/72084727