我正在开发一个php函数来执行一个构建gradle项目Android的命令。
但要明确我想创建一个小系统可以修改android项目源并通过构建gradle来生成APK项目。
我做了很多关于它的搜索,我发现了一些接近的问题,但没有用这个命令。
这是我的功能。这很简单,我已经在我的服务器中安装了gradle工具,并且命令在我的终端中成功运行
function generator(){
exec('cd /home/my/AndroidStudioProjects/BetaProject/;./gradlew assembleDebug 2>&1',$out,$err);
var_dump($out);
var_dump($err);
}
但是,当我用php执行它时,它给了我这个:
string(955)“线程中的异常”main“java.lang.RuntimeException: java.io.FileNotFoundException: /usr/sbin/.gradle/wrapper/dists/gradle-2.4-all/3i2gobhdl0fm2tosnn15g540i0/gradle-2.4-all.zip.lck (没有这样的文件或目录)在 org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78) 在org.gradle.wrapper.Install.createDist(Install.java:47)at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129) 在 org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48) 引起:java.io.FileNotFoundException: /usr/sbin/.gradle/wrapper/dists/gradle-2.4-all/3i2gobhdl0fm2tosnn15g540i0/gradle-2.4-all.zip.lck (没有这样的文件或目录)在java.io.RandomAccessFile.open0(Native 方法)在java.io.RandomAccessFile.open(RandomAccessFile.java:316)at at java.io.RandomAccessFile。(RandomAccessFile.java:243)at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:49) ......还有3个“
如果有任何解决方案或建议,我会很高兴。
由于
答案 0 :(得分:1)
试试这个:
function generator(){
exec('sh /home/my/AndroidStudioProjects/BetaProject/gradlew assembleDebug 2>&1',$out,$err);
var_dump($out);
var_dump($err);
}
答案 1 :(得分:0)
我遇到了同样的问题,我只是通过更改这些文件所在目录的所有者来授予 apache 执行这些脚本的权限来解决此问题
它会是这样的:
sudo chown -R www-data your-directory/
我希望这对你有用。