2 votos

¿Cómo puedo instalar archivos zip flashables en Android-x86?

Recientemente comencé a ejecutar la versión Android-x86 6.0-RC1 en mi iMac, y estoy considerando hacerlo uno de mis varios controladores diarios. Sin embargo, hay un problema importante que está generando algunas dudas: no puedo encontrar una manera de instalar archivos zip para flashear. He investigado sobre una recuperación personalizada, pero al parecer la estructura de directorios de Android-x86 es demasiado diferente a la de su contraparte de dispositivo móvil como para ejecutar o incluso instalar una directamente. He intentado usar FlashFire de Chainfire, pero obviamente no funciona por razones similares al último método.

He leído en una breve conversación en el foro de XDA-Developers discutiendo este tema que una recuperación sería relativamente innecesaria porque "simplemente podrías usar una distribución ligera de Linux como recuperación". Supongo por la redacción que harías esto arrancando una pequeña distribución de Linux en la misma máquina, montando la imagen principal de Android-x86, extrayendo el archivo zip para flashear y ejecutando el script de instalación que contiene, sin embargo no estoy seguro si este método funcionaría en la práctica, ya que no puedo encontrar más información al respecto.

Necesito la capacidad de flashear un archivo zip ya que es la única forma actual aparte de usar una recuperación personalizada para instalar el marco Xposed en android, en el cual confío mucho para todo, desde comodidades personales hasta funciones de seguridad más configurables manualmente para facilitar el desarrollo. Dada la compatibilidad inherente de Android-x86 con prácticamente cualquier cosa compilada para ejecutarse en un dispositivo android basado en Intel Atom o Celeron, la falta de Xposed es el único factor que me impide intentar el desarrollo de ROM personalizados, así como comenzar a portar varios proyectos que ya están en desarrollo y que hasta ahora eran exclusivos de distros BSD/Debian a dispositivos android basados en Intel con root.

ACTUALIZACIÓN: Logré montar el sistema de archivos Android-x86 desde un CD de GParted en vivo, y chroot a él, pero al ejecutar flash-script.sh inicia el instalador y arroja el siguiente registro de error:

******************************
Xposed framework installer zip
******************************
-Montando /system y /vendor en lectura-escritura
/tmp/META-INF/com/google/android/flash-script.sh[102]: no se puede crear /dev/null: No existe el archivo o directorio
/tmp/META-INF/com/google/android/flash-script.sh[103]: no se puede crear /dev/null: No existe el archivo o directorio
/tmp/META-INF/com/google/android/flash-script.sh[104]: mount: no encontrado
/tmp/META-INF/com/google/android/flash-script.sh[105]: no se puede crear /dev/null: No existe el archivo o directorio
-Comprobando el entorno
/tmp/META-INF/com/google/android/flash-script.sh[112]: head: no encontrado
/tmp/META-INF/com/google/android/flash-script.sh[112]: sed: no encontrado
/tmp/META-INF/com/google/android/flash-script.sh[114]: cut: no encontrado
*Continúa hasta la línea 121*
 Versión de Xposed:
! Plataforma incorrecta: arm
! Este archivo es para:
! Por favor, descarga el paquete correcto
! para tu plataforma/ROM

Asumo que la razón por la que esto sucedió es que la versión de Linux que estoy usando es demasiado ligera y no incluye los programas requeridos, sin embargo, eso no explica el hecho de que el registro de errores informa que el sistema es ARM y afirma que la versión x86 es incorrecta para mi plataforma dado que estoy ejecutando una copia de Android-x86, por lo que si alguien tiene información al respecto, ¡por favor, aporta!

0 votos

Tengo una pregunta para ti: si arrancas desde un medio en vivo, ¿podrías ver todo el sistema de archivos de Android-x86 (incluido el directorio root)?

1 votos

Sí, Android-x86 utiliza un solo archivo .img en el que se almacena todo el sistema de archivos root, así como el directorio de usuario /storage/emulated/0/, sin embargo, para emular una tarjeta SD tienes que crear un archivo 'data.img', guardarlo en la misma ubicación que el sistema.img y especificarlo para ser usado en grub.cfg. También es destacable que Android-x86 viene pre-rooted, con Superusuario incrustado en SecSettings.apk, así que ya tengo acceso completo de lectura y escritura desde el propio sistema operativo. Además, Xposed solo tiene que ser instalado a través de un archivo zip, no sobrescribir archivos del sistema, así que podría hacerlo manualmente, simplemente no sé cómo.

0 votos

Gracias por la aclaración. ¿Ya intentaste extraer el contenido del ZIP flashable y examinar la sintaxis y operaciones realizadas por update-binary y updater-script?

3voto

Marc.2377 Puntos 11

Esto se debe a que el script de instalación detecta incorrectamente su plataforma como ARM.

Para solucionar este problema, que es específico del archivo ZIP de Xposed, debe hackear editar flash-script.sh.

Busque:

if [ -z $XVALID ]; then
  echo "! Por favor, descargue el paquete correcto"
  echo "! para su plataforma/ROM!"
  #exit 1
fi

Comente el comando exit, agregando un # antes de él.
Al menos en la versión actual de Xposed (v86), esta es la línea 162 del archivo flash-script.sh.

El bloque resultante será:

if [ -z $XVALID ]; then
  echo "! Por favor, descargue el paquete correcto"
  echo "! para su plataforma/ROM!"
  #exit 1
fi

Fuente: Cómo instalar Xposed en MEmu Lollipop Beta

[Editar] Dado que está teniendo muchos problemas, voy a proporcionar pasos detallados y a prueba de errores para instalar con éxito Xposed en Android-x86:

  1. Descargue Xposed a su computadora
  2. Extraiga el contenido del archivo comprimido en algún lugar
  3. Desde su administrador de archivos (Finder | Explorador de Windows | Nemo | Otro), abra el directorio donde se han extraído los contenidos del archivo y navegue a: META-INF \ com \ google \ android
  4. Seleccione todo el contenido de este directorio y Control + C
  5. Vuelva al directorio que contiene los archivos resultantes (igual que en el Paso 3) y luego Control + V
  6. Entre los archivos que acaba de copiar se encuentra flash-script.sh. Ahora debe editar este archivo con un editor de texto de su elección, según la parte anterior de esta respuesta.
  7. Guarde y cierre el archivo. Asegúrese de que se haya guardado correctamente.
  8. Cree un nuevo archivo .zip con los contenidos actualizados, incluyendo por supuesto el archivo flash-script.sh que ha editado.
  9. Envíe este nuevo (¡asegúrese!) archivo zip a su entorno de Android-x86 con un método de su elección. ADB, enviarlo por correo electrónico a usted mismo, algún servicio de carga de archivos temporales anónimo, etc.
  10. Desde Android-x86, extraiga el contenido de este nuevo archivo zip.
  11. Inicie Terminal Emulator.
  12. Escriba su y presione Enter
  13. Si se le solicita privilegio de Superusuario, confirme (es decir, presione "Permitir")
  14. Escriba sh "flash-script.sh" y presione Enter
  15. Reinicie su teléfono y abra la APK de Xposed para confirmar si se ha instalado correctamente.

1 votos

He intentado hacer lo anterior y aún falló con el mismo error, incluso busqué y cambié todas las variables relacionadas para asegurarme de que la instalación funcionara, sin éxito.

1 votos

@AlisonE.E. La solución propuesta no evita que aparezcan los mensajes de error. En su lugar, hace que el script se ejecute hasta el final a pesar del error. Deberías ver Colocando archivos y Hecho después de los mensajes de error. ¿Ocurrió eso? Si es así, simplemente reinicia tu teléfono e instala el APK de Xposed para asegurarte de que esté habilitado.

0 votos

No, no vi ninguno de esos mensajes. También es notable que, como se dijo anteriormente, esto no es una copia de Android ejecutándose en un dispositivo portátil ARM, es una copia de Android 'x86' funcionando en un Mac, y usando un disco de Linux en vivo para ejecutar el script con el sistema de archivos de Android 'x86' montado en el directorio root a través de 'chroot', por lo que en caso de que esté instalando binarios ARM por alguna razón, romperá/hará un bucle de inicio la instalación. Sin embargo, el verdadero problema es que es el binario 'x86', por lo que no debería estar indicando que está destinado a dispositivos ARM, simplemente debería instalarse.

0voto

Vemman Puntos 21

¿Por qué no puedes descomprimir el archivo en Windows y simplemente hacerlo?

adb push apk\purenexus-gapps-mm-mr1-x86-leanback-20160202-signed\system\. /system

0voto

Rajner Puntos 1

También estaba buscando algo como una recuperación personalizada para android-x86. Pero, parece ser bastante innecesario para android-x86 de la manera en que están en los teléfonos móviles.

Afortunadamente encontré algo relacionado llamado GearLock. También encontré un montón de kernels flasheables y otras cosas buenas. Sorprendentemente tiene algún tipo de modo de recuperación y soporte para zip flasheables.

Dejo el enlace a continuación por si suena interesante.

https://supreme-gamers.com/resources/gearlock-custom-recovery-replacement-for-android-x86.40

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X