无法启动 build/x64/debug/ALL_BUILD

将所要运行项目设成启动项

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这个程序的问题在于,在if语句块中使用了`os.system()`来执行命令,而在elif语句块中使用了`subprocess.call()`来执行命令。这会导致代码的一致性出现问题,并且会在不同的情况下使用不同的命令执行方式,这不利于代码的可读性和可维护性。 另外,在elif语句块中使用了`check=True`参数,但是`subprocess.call()`函数并不支持这个参数,这会导致代码运行出错。正确的做法应该是使用`subprocess.run()`函数来替代`subprocess.call()`函数,并将命令参数改为列表形式,这样就可以使用`check=True`参数来检测命令执行情况了。 因此,您可以尝试以下修改: ```python import argparse import subprocess parser = argparse.ArgumentParser(description='Execute different shell commands depending on the argument') parser.add_argument('--build', help='Execute split_build_helper.py') args = parser.parse_args() if args.build == 'all': subprocess.run(['python', 'vendor/mediatek/proprietary/scripts/releasetools/split_build_helper.py', '--out-name', 'project_mode', '--run', 'full_aiv8195p1_64_bsp-userdebug'], check=True) elif args.build == 'kernel': subprocess.run(['cmd', '/c', 'call', 'build\\envsetup.bat', '&&', 'set', 'OUT_DIR=out_aiv8195p1_64_bsp_userdebug', '&&', 'lunch', 'vnd_aiv8195p1_64_bsp-userdebug', '&&', 'make', 'krn_images'], check=True, shell=True) else: print('No argument provided') ``` 这里我们将所有的命令执行方式都改为了`subprocess.run()`函数,并将命令参数改为列表形式。同时,在elif语句块中使用了`cmd`命令来调用Windows的命令行解释器,并使用`/c`参数来执行后续的命令,和之前的修改方式类似。这样就可以保证代码的一致性,并且避免了参数错误的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值