我正在从Android.mk运行一个shell脚本,它执行一些复制和填充,我想读取脚本返回的返回值,如果失败,我想暂停编译。
$(shell $(LOCAL_PATH)/makescript.sh)
我希望它是这样的:
value = ./makescript.sh
if value = 1 halt compilation of Android.mk file.
答案 0 :(得分:0)
我认为你想要实现的目标应该有效:
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
答案 1 :(得分:-1)
您可以将脚本作为普通进程运行,并获取脚本返回的输入流。
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();
}