Android 编译命令:make -j8 SHOWCOMMAND=TRUE 2>&1 | tee build.log解释

在编译Android的时候,经常用到命令:

make -j8 SHOWCOMMAND=TRUE 2>&1 | tee build.log
  • 其中 make 是编译命令,

  • -j8 这里的 8 指的是线程数量,就是要用几个线程去编译这个工程,一般会是 CPU核心数的2 倍。

  • 通过参数showcommands 将编译的命令显示出来,
    比如原来编译命令是make -j8 但是编译的细节没看到,如果要将编译的命令显示出来可以用参数showcommands

    make out/target/product/sim8900/persist.img showcommands | tee persist.log 
    
    persist.log
    ............
    out/host/linux-x86/bin/mkuserimg.sh -s out/target/product/sim8900/persist out/target/product/sim8900/persist.img ext4 persist 33554432
    .................   
    
  • 2是标准错误,&1是标准输出,2>&1意思就是将标准错误输出到标准输出中。
    如果没有2>&1,只会有标准输出,没有错误;

  • tee 的作用同时输出到控制台和文件
    tee file //覆盖
    tee -a file //追加 -a(append)

  • make > build.log 是将所有标准输出到这个文件中,并没有定义标准错误应该是定义到了标准输出,也就是说如果make执行出现错误,那么就不会写到 build.log中,而是输出到屏幕上,

  • 2>&1是错误和结果都重定向到build.log中!

  • 可以到当前目录看到 build.log

你可能感兴趣的:(Android,Android编译命令)