gradle在不同系统下适配

2017/04/10 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.env来获取 比如获取ANDROID_HOME 可以调用$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=”“即可。


欢迎关注我的微信公众号

璐豪笔记

CoderHouse

Search

    Post Directory