Análisis de la InstalarXposedFramework.bat nos indica el motivo del fallo del script. El contenido del script es el siguiente:
@echo off
set adb=files\adb.exe
echo '
echo '
echo ' Connecting ZenFone ..
echo '
echo '
%adb% wait-for-devices
echo '
echo '
echo ' Pushing files ..
echo '
echo '
%adb% push assets\xposed-sdk21-x86\system /data/local/tmp/system
%adb% push files\installer /data/local/tmp
%adb% shell "su -c chmod 755 /data/local/tmp/installer"
echo '
echo '
echo ' Installing Xposed Framework ..
echo '
echo '
%adb% shell "su -c /data/local/tmp/installer"
echo '
echo '
echo ' Done, rebooting ..
echo '
echo '
%adb% reboot
Motivo del fracaso
Por encima, el guión se desarrolla sin problemas hasta que golpea:
%adb% shell "su -c chmod 755 /data/local/tmp/installer"
cuyos argumentos no se han formateado correctamente. Específicamente, chmod
, 755
y /data/local/tmp/installer
están pensados como tres argumentos distintos que se suministran a su -c
que acepta un argumento obligatorio (es decir, el comando que debe ejecutarse), un identificador de inicio de sesión opcional y un número opcional y arbitrario de argumentos al final.
Parche para el script
Para que el script funcione, la línea:
%adb% shell "su -c chmod 755 /data/local/tmp/installer"
tiene que ser editado para parecerse:
%adb% shell "su -c 'chmod 755 /data/local/tmp/installer'"
ya que chmod 755 /data/local/tmp/installer
es un comando único ( chmod
) con dos argumentos propios ( 755 /data/tmp/installer
). La totalidad de la misma se suministrará entonces como único argumento a su -c
y ser ejecutado con permisos Root, permitiendo al script proceder a su ejecución.
Si el teléfono arranca
Entonces la versión de Xposed suministrada junto con el script es incompatible de algún modo. El bootloop es independiente del script de instalación.
¿Debo borrar la partición de datos y reflash el firmware, si ejecuto el original InstalarXposedFramework.bat ?
Absolutamente no, y he aquí por qué: los comandos que empujan Xposed a su dispositivo son los siguientes:
%adb% push assets\xposed-sdk21-x86\system /data/local/tmp/system
%adb% push files\installer /data/local/tmp
. Ya que, como se ha explicado antes, el comando:
%adb% shell "su -c chmod 755 /data/local/tmp/installer"
es defectuoso y por lo tanto hace que el script se cuelgue, de hecho no hay nada instalado. Lo único que hay que hacer, es comprobar si la carpeta /data/local/tmp está vacío, y borra todo lo que contenga si no lo está.
0 votos
@DeathMaskSalesman ¿Es este el caso de la
adb
guiones en ambos ¿los hilos de XDA que enlacé en OP? A los dos les ha pasado lo mismo. (Es por eso que he tenido que flashear a través de la recuperación).0 votos
@DeathMaskSalesman Sí, parece que ambos scripts carecen de dichas comillas. En los scripts
shell
se utiliza dos veces. ¿Debo añadir las comillas a ambas líneas?0 votos
@DeathMaskSalesman Ya veo. Lo intentaré. Por cierto, ¿por qué habrán dejado un error tan raro en los scripts? ¿Y por qué los scripts, conteniendo estos errores, funcionaban para otras personas?
0 votos
@DeathMaskSalesman Ya veo. Lo intentaré. Por cierto, ¿por qué habrán dejado un error tan raro en los scripts? ¿Y por qué los scripts, conteniendo estos errores, seguían funcionando para otras personas?
0 votos
@DeathMaskSalesman De acuerdo, lo probaré cuando vuelva a mi portátil.
0 votos
@DeathMaskSalesman He puesto las comillas y el proceso ha continuado. ¡A la espera de que el teléfono arranque ya! ¡Gracias por el consejo!
0 votos
@DeathMaskSalesman Meh, dio un bootloop. Oh well. No creo que estuviera relacionado con este fix, probablemente algún otro problema Mejor simplemente restaura el firmware y sigue con el paquete Xposed anterior.