捕获IllegalStateException并停止我的Gradle/Groovy构建并打印消息?
我有这个:捕获IllegalStateException并停止我的Gradle/Groovy构建并打印消息?,groovy,gradle,android-studio,android-gradle-plugin,Groovy,Gradle,Android Studio,Android Gradle Plugin,我有这个: task buildNative(type: Exec) { try { if(System.getenv().NDK_HOME != null) { def ndkBuild = new File(System.getenv().NDK_HOME, 'ndk-build') workingDir "jni" executable ndkBuild } else {
task buildNative(type: Exec) {
try {
if(System.getenv().NDK_HOME != null) {
def ndkBuild = new File(System.getenv().NDK_HOME, 'ndk-build')
workingDir "jni"
executable ndkBuild
} else {
doLast {
println 'Reason: NDK_HOME not set...'
}
}
} catch(IllegalStateException){
println 'Reason: NDK_HOME not set...'
}
}
由于NDK_HOME没有设置在我的环境中,我想停止构建并打印一条消息。我该怎么做
如果我使用--stacktrace运行gradle assembleRelease,我会得到:
Caused by: java.lang.IllegalStateException: execCommand == null!
如果我与gradle AssemblereRelease一起运行,我会得到:
* What went wrong:
Execution failed for task ':primavista-android-reloaded:buildNative'.
> execCommand == null!
我想:
Reason: NDK_HOME not set...
在Android Studio中,即使我有正确的NDK_主页,它也不会运行。错误如下:
Execution failed for task ':primavista-android-reloaded:buildNative'.
> execCommand == null!
这并不能解释为什么首先检查
DK_HOME
而不是NDK_HOME
。因为我知道DK_HOME不存在于我的环境中,所以这只是一个测试。它没有停止。对不起,我不知道是什么问题。请改进您的问题:primavista android重新加载:buildNative失败:生成失败,出现异常。*错误:任务执行失败:primavista android已重新加载:buildNative'>execCommand==null!*尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。构建失败这可能意味着NDK\u构建已设置。通过在if语句中添加一些println
s,可以很容易地验证这一点。也许您遇到了其他问题。这并不能解释为什么您首先检查DK_HOME
,而不是NDK_HOME
。因为我知道DK_HOME在我的环境中不存在,所以这只是一个测试。它没有停止。对不起,我不知道是什么问题。请改进您的问题:primavista android重新加载:buildNative失败:生成失败,出现异常。*错误:任务执行失败:primavista android已重新加载:buildNative'>execCommand==null!*尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。构建失败这可能意味着NDK\u构建已设置。通过在if语句中添加一些println
s,可以很容易地验证这一点。也许您遇到了其他问题。这并不能解释为什么您首先检查DK_HOME
,而不是NDK_HOME
。因为我知道DK_HOME在我的环境中不存在,所以这只是一个测试。它没有停止。对不起,我不知道是什么问题。请改进您的问题:primavista android重新加载:buildNative失败:生成失败,出现异常。*错误:任务执行失败:primavista android已重新加载:buildNative'>execCommand==null!*尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。构建失败这可能意味着NDK\u构建已设置。通过在if语句中添加一些println
s,可以很容易地验证这一点。也许您遇到了其他问题。这并不能解释为什么您首先检查DK_HOME
,而不是NDK_HOME
。因为我知道DK_HOME在我的环境中不存在,所以这只是一个测试。它没有停止。对不起,我不知道是什么问题。请改进您的问题:primavista android重新加载:buildNative失败:生成失败,出现异常。*错误:任务执行失败:primavista android已重新加载:buildNative'>execCommand==null!*尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。构建失败这可能意味着NDK\u构建已设置。通过在if语句中添加一些println
s,可以很容易地验证这一点。也许你遇到了其他问题。
task buildNative(type: Exec) {
if (System.getenv('NDK_HOME') != null) {
def ndkBuild = new File(System.getenv('NDK_HOME'), 'ndk-build')
workingDir "jni"
executable ndkBuild
} else {
throw new GradleException('Reason: NDK_HOME not set...')
}
}