我正在从 Android.mk 运行一个 shell 脚本,它执行一些复制和操作,我想读取脚本返回的返回值,如果它失败,我想停止编译。
$(shell $(LOCAL_PATH)/makescript.sh)
我希望它是这样的:
value = ./makescript.sh
if value = 1 halt compilation of Android.mk file.
我正在从 Android.mk 运行一个 shell 脚本,它执行一些复制和操作,我想读取脚本返回的返回值,如果它失败,我想停止编译。
$(shell $(LOCAL_PATH)/makescript.sh)
我希望它是这样的:
value = ./makescript.sh
if value = 1 halt compilation of Android.mk file.
我认为对于您想要实现的目标,这应该有效:
ifeq (1,$(shell $(LOCAL_PATH)/makescript.sh))
$(error your error message.)
endif
如果你想以赋值的方式来做,
return_val := $(shell $(LOCAL_PATH)/makescript.sh)
ifeq (1, $(return_val))
$(error your error message.)
endif
您可以将脚本作为正常进程运行并获取脚本返回的输入流。
try{
Process proccess = new ProcessBuilder( )
.command( "path to yur script file" )
.redirectErrorStream( true )
.start();
InputStream in = new BufferedInputStream( proccess.getInputStream() );
in.close();
}catch( IOException ioe ){
ioe.printStackTrace();
}