2015-12-25 6 views
2

Я разрабатываю php-функцию для выполнения команды, которая строит проект градиента Android.Использование PHP для построения градиента Проект Android

Но, чтобы быть ясным, я хочу создать небольшую систему, которая может изменить источник проекта Android и сгенерировать проект APK, построив град.

Я очень много ищу об этом, и я нашел близкий вопрос, но не с этой командой.

Это моя функция. Это действительно просто, я уже установил Gradle инструментов в моем сервере, и команда успешно работает в моем терминале

function generator(){ 
    exec('cd /home/my/AndroidStudioProjects/BetaProject/;./gradlew assembleDebug 2>&1',$out,$err); 
    var_dump($out); 
    var_dump($err); 
} 

Но, когда я исполню ее с PHP это дает мне это:

строки (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 (ExclusiveFileAccessManag er.java:78) at 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 (родной метод) в java.io.RandomAccessFile.open (RandomAccessFile.java:316) в java.io.RandomAccessFile. (RandomAccessFile.java: 243) в org.gradle.wrapper.ExclusiveFileAccessManager.access (ExclusiveFileAccessManager.java:49) ... еще 3 "

Если есть какое-либо решение или какой-либо совет, я буду так рад.

Благодаря

+0

Проверьте экологический путь по php_info() Terminal и PHP имеют разное значение.. –

+0

спасибо, но я проверил свой путь командой ls и да, мой путь находится внутри моего php-проекта, но это не проблема, потому что у меня есть cmd для перехода в каталог gradle! и я тестировал, что в терминале все нормально, но с exec дает мне эту ошибку. – MrMehdi

ответ

1

попробовать это:

function generator(){ 

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