从浏览器调用时,apk不能在linux服务器上编译,但从终端调用时可以正常工作

时间:2012-08-30 08:05:03

标签: php android linux shell apk

我正在尝试在linux无头服务器上编译和打包apk。这是我到目前为止所做的:

  • 我安装了android sdk,一切正常
  • 我安装了蚂蚁,一切正常

我能够从终端构建一个android项目,一切正常 甚至我能够从终端调用一个bash文件,它确实为我构建了apk。这是bash文件:

#!/bin/bash
export PATH=$PATH:/var/www/zipalign
export PATH=$PATH:/usr/local/ant/bin
export PATH=$PATH:/usr/local/ant/lib
export PATH=$PATH:/usr/share/doc/openjdk-7-jdk
export PATH=$PATH:/root/android-sdk-linux
export PATH=$PATH:/root/android-sdk-linux/tools
export PATH=$PATH:/root/android-sdk-linux/platforms
export PATH=$PATH:/root/android-sdk-linux/platform-tools
export PATH=$PATH:/root/apache-ant-1.8.4/bin/ant
export PATH=$PATH:/var/www/ant/bin
ant release
echo "DONE"

然后我能够从运行bash文件的终端调用php文件,并再次正常工作并构建apk。这是php代码:

<?php 
   $output = shell_exec("./javaApk.sh");
   echo $output;
?>

奇怪的是,当我从浏览器调用这个php时,它不构建apk!它只是在浏览器中返回以下内容但没有apk!

Buildfile: /var/www/1/air.com.domain.FreshApp/java_apk/build.xml DONE

当我在我的bash文件中回显$ PATH(从浏览器运行php)时,我可以看到以下结果似乎都很好

/usr/local/bin:/usr/bin:/bin:/var/www/uploads/zipalign:/usr/local/ant/bin:/usr/local/ant/lib:/usr/share/doc/openjdk-7-jdk:/root/android-sdk-linux:/root/android-sdk-linux/tools:/root/android-sdk-linux/platforms:/root/android-sdk-linux/platform-tools:/root/apache-ant-1.8.4/bin/ant:/var/www/uploads/ant/bin

任何想法?

0 个答案:

没有答案