android - 执行 os 命令 python 后获取打印值

标签 android python gradle operating-system

我在 python 中运行以下函数,提示用户输入密码,并使用密码作为参数运行 os.system 命令:

    password = raw_input("Please enter keystore password\n")
    gradle_command = "./gradlew assemble" + flavor_name + "release  -Pprop=\"['" + password + "']\""
    try:
        os.chdir("../")
        os.system(gradle_command)
    except OSError:
        sys.exit("Error building apk,")

问题是 except 永远不会被调用。如果用户输入错误的密码,gradle 命令将执行并打印 BUILD FAILED。

我想知道的是如何注册构建未能相应地退出脚本。有没有办法获取 BUILD_FAILED 打印值?

提前致谢。

最佳答案

想通了。失败的 gradle 执行将返回一个非零数字,因此我可以执行以下操作:

 password = raw_input("Please enter keystore password\n")
 gradle_command = "./gradlew assemble" + flavor_name + "release  -Pprop=\"['" + password + "']\""
 if os.system(gradle_command) is not 0:
    sys.exit("Error building apk")

关于android - 执行 os 命令 python 后获取打印值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29166210/

相关文章:

python - 在python中通过Selenium Webdriver下载文件

java - Android SimpleCursorAdapter 保持滚动样式

java - Android ImageSwitcher 图像到另一个 Activity

python - 为什么我会收到此 ImportError?

python : How to fill an array line by line?

java - Gradle:多项目构建 - 如何确定需要重建的项目?

android - Facebook 字符串没有默认翻译

android - 使用依赖的 .aar 文件创建 Android 库

Android反盗版停止补丁

android - "Couldn' t 在设备上安装应用程序”错误消息