如何从Android.mk运行脚本并读取它的退出代码(返回值)

时间:2013-10-16 13:52:30

标签: android shell compilation

我正在从Android.mk运行一个shell脚本,它执行一些复制和填充,我想读取脚本返回的返回值,如果失败,我想暂停编译。

$(shell $(LOCAL_PATH)/makescript.sh)

我希望它是这样的:

value = ./makescript.sh
if value = 1 halt compilation of Android.mk file.

2 个答案:

答案 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();
    }