我正在尝试使用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_HOME
)是使用getenv()
设置的,它们指向正确的路径。
任何帮助都会很棒!
答案 0 :(得分:0)
我没有linux专家,但似乎你从"〜/ path / to / project"启动它(ssh)。 (〜意思是你的家乡之路)。
在php中,您尝试从" / path / to / project" (从根文件夹的绝对路径)。
尝试用" ls"替换你的第二个命令所以你会看到你在哪里......并与你应该在哪里进行比较!