Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Generar android apk utilizando shell script de php?

Estoy tratando de generar archivos de Android apk de la secuencia de comandos de shell, quiero ejecutar un archivo de script de shell desde PHP. Cuando ejecuto el script shell en el terminal, funciona perfectamente. Si intento ejecutar el script usando PHP, el script de shell no ejecuta todos los comandos. El comando ls en shell script funciona perfectamente, pero al ejecutar usando PHP, otros comandos no funcionan. Estoy utilizando el servidor xampp en un entorno Linux.

Mi script de shell

 cd /home/user/AndroidStudioProjects/msvep4247-inghamautogroup-pulse-and/ ./gradlew assembleDebug cp -fr app/build/outputs/apk/app-debug.apk /opt/lampp/htdocs/sample/apk ls 

Shell ls salida de script

App autolead_data_format.pdf construir build.gradle mejilla gradle gradle.properties gradlew gradlew.bat lib local.properties msvep4247-inghamautogroup-pulse-and.iml settings.gradle

Mi script PHP

  <?php echo shell_exec('ls'); echo shell_exec('./generateApk.sh'); ?> 

Salida de ls escritura de PHP

GenerateApk.sh generate.php APK

Nota: ls genera los nombres de archivo en la carpeta

Fijé todos los permisos del archivo para la escritura de la cáscara en el servidor del xampp. ¿Alguien puede describir dónde me equivoco? A la espera de respuestas …

  • ¿Cómo medir el tiempo de shell de adb con resolución de milisegundos?
  • ¿Cómo controlar las operaciones de bluetooth usando adb shell?
  • ¿Cómo puedo usar adb para desinstalar un APK de varios dispositivos conectados?
  • Comandos ADB de Android para obtener las propiedades del dispositivo
  • ¿Dónde encontrar información sobre el comando de shell de "llamada de servicio" de Android?
  • Cómo obtener el tiempo de arranque del sistema Android
  • ¿Cuál es la herramienta Android de la caja ADB de "dumpsys" y cuáles son sus beneficios?
  • Monte una tarjeta SD manualmente desde el shell de adb en android
  • 2 Solutions collect form web for “Generar android apk utilizando shell script de php?”

    Simplemente utilice la ruta completa al script / ejecutable, porque el entorno es diferente cuando se ejecuta desde php.

    Parece que la variable de entorno PATH en código PHP que se ejecuta en el servidor web es más limitada que la del shell en el que estás trabajando. Pero puedes cambiar las variables de entorno en PHP y los comandos que arrancas verán esos Cambios.

     <?php // set content type so the output is more readable in the browser header('Content-Type: text/plain'); // set $PATH to some limited value putenv('PATH=/bin:/sbin'); // verify, note that we have to use full path to 'env' print(shell_exec("/usr/bin/env|grep '^PATH='")); // this command won't run (assuming its full path is /usr/bin/id) print(shell_exec("id")); // add more directories to $PATH putenv('PATH=/bin:/sbin:/usr/bin:/usr/sbin'); // verify again, we can use env without specifying the path this time print(shell_exec("env|grep '^PATH='")); // this command will print(shell_exec("id")); 

    Así que tienes que escribir putenv('PATH=<your_shell_PATH_contents>'); En la parte superior de su script PHP. El uso de la ruta completa al script de shell por sí solo no ayudará si el propio script usa rutas relativas a los binarios que comienza.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.