1

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

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

我能够从终端构建一个 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

任何想法?

4

0 回答 0