使用 PHP 构建 gradle Android 项目

Posted

技术标签:

【中文标题】使用 PHP 构建 gradle Android 项目【英文标题】:Using PHP to build gradle Android Project 【发布时间】:2016-03-31 17:35:56 【问题描述】:

我正在开发一个 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) “线程“主”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) 在 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) 在 java.io.RandomAccessFile.(RandomAccessFile.java:243) 在 org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:49) ... 3 更多“

如果有任何解决方案或建议,我会很高兴。

谢谢

【问题讨论】:

通过php_info()检查你的环境路径。终端和php有不同的值。 谢谢,但我已经通过 ls 命令检查了我的路径,是的,我的路径在我的 php 项目中,但这不是问题,因为我已经使用 cmd 进入 gradle 目录!我在终端测试了一切正常,但是 exec 给了我这个错误。 你有没有想过这个问题? 【参考方案1】:

我遇到了同样的问题,我只是通过更改这些文件所在目录的所有者来授予 apache 执行这些脚本的权限来解决它

会是这样的:

sudo chown -R www-data your-directory/ 

我希望这对你有用。

【讨论】:

【参考方案2】:

试试这个:

function generator()

        exec('sh /home/my/AndroidStudioProjects/BetaProject/gradlew assembleDebug 2>&1',$out,$err);
        var_dump($out); 
        var_dump($err); 

【讨论】:

以上是关于使用 PHP 构建 gradle Android 项目的主要内容,如果未能解决你的问题,请参考以下文章

使用 gradle 构建 android 项目

使用 gradle 构建 android 项目失败

Android 加速Gradle构建项目

使用 Gradle 构建 Android AAR

Android Gradle 插件Gradle 构建工具简介 ③ ( Gradle 构建脚本编程语言 | Groovy 语言简介 | Groovy 语言特性 )

Gradle构建工具与Android对应关系