php - 从PHP脚本exec()执行时,无法从gradle中获取输出

标签 php android gradle

我正在尝试通过使用exec()从PHP脚本执行Gradle来构建Android应用程序,但是没有任何响应,因此我无法理解为什么构建失败。

从终端(SSH)执行应用程序gradle包装器时,使用以下命令,整个过程可以正常工作:

x:/path/to/project/$ ./gradlew assembleRelease
x:/path/to/project/$ ./gradlew assembleRelease --debug --stacktrace
x:/path/to/project/$ ./gradlew assembleRelease --debug --stacktrace > output.txt

输出工作正常,我能够解决任何可能的问题。从PHP脚本执行gradle时,没有输出。
// array for the output to be dumped into
$output_array = array();

// $result is empty (tried with stacetrace, debug and an output file)
$result = exec("cd /path/to/project && ./gradlew assembleRelease", $output_array);

// nothing displayed
var_dump($output_array);

我无法告诉问题出在哪里。我检查了是否使用$GRADLE_HOME设置了所需的环境变量($ANDROID_HOMEgetenv()),它们指向正确的路径。

任何帮助将是巨大的!

最佳答案

我不是Linux专家,但似乎您是从“〜/ path / to / project”(〜表示您的主路径)启动它的(ssh)。

在php中,您尝试从“/ path / to / project”(根文件夹的绝对路径)启动它。

尝试将第二个命令替换为“ls”,这样您就可以看到自己的位置并与应该的位置进行比较!

关于php - 从PHP脚本exec()执行时,无法从gradle中获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27505695/

相关文章:

php - 在编写查询时需要帮助

php - 将重命名的文件名上传到数据库

php - 将 PHPUnit 测试打包为 PHAR 存档?

php - Yii2 : Vote for a Post in AJAX or Pjax

android - 在我的 Nexus 5 上更新 Android 6 后,蓝牙发现/扫描代码无法正常工作

android - 在 Android 上添加的文件夹通过 USB 不可见

java - android中的耳机按钮双击

java - Android Studio Gradle单元测试不起作用

java - 如何在构建过程中自动生成pom文件以上传到maven2存储库?

android - google-services.json在创建我的应用程序的产品样式时导致问题,可能的解决方法?