El superusuario no muestra aviso

En primer lugar, debo decir que sé que este tema se ha discutido muchas veces, pero ninguna de las respuestas ayudó y creo que esta pregunta es algo diferente a las demás.

Intenté rootear mi teléfono Android 4.2.1 probando varios métodos automáticos, pero todos fallaron. Además, el uso de enraizamiento update.zipno funciona debido al error "OTA no válida, falta dispersión".

Sin embargo, puedo obtener acceso de root usando adb rootel comando " ", así que intenté rootear mi teléfono manualmente:

  • Comandos ' adb root' y ' ' para obtener acceso a la partición del sistemaadb remount
  • descargado el binario su más reciente (versión 3.1.1)
  • empujó a ' /system/xbin/su'
  • establecer bit suid y sgid: 'chmod 6755 su'--> ls -lmuestra'-rwsr-sr-x root root 380532 2008-02-29 02:33 su'
  • vinculado ' /system/xbin/su' a ' /system/bin/su'
  • instaló el superusuario más nuevo de Google Play (3.1.3)
  • Busybox instalado (aunque esto no es necesario si entiendo correctamente?)

Ahora se pone interesante:
cuando " adb shell" en mi teléfono, puedo usar suel comando " " y automáticamente obtener privilegios de root ($ cambia a # y puedo acceder a los archivos de root), y está conectado a la aplicación de superusuario con el creador como 'Shell' . PERO cuando pruebo una aplicación que necesita root, tarda mucho (10 segundos) y luego falla (he probado 'Root Checker Basic' de la tienda).

La aplicación Superusuario nunca muestra ninguna ventana emergente, tampoco está en el registro. Parece que niega automáticamente todas las solicitudes.

Así que aquí está mi pregunta: ¿He hecho todos los pasos correctamente? (tal vez me estoy perdiendo algo muy importante)

Estoy bastante desesperado en este momento (pasé casi 2 días completos tratando de hacer esto), por lo que incluso recurriría a soluciones como editar algunos archivos de configuración de Superusuario y habilitar el acceso de root para la aplicación manualmente.

PD: si necesita información adicional, solo pregunte, intentaré completar la información si es posible

Investigación exahustiva:

  • configurar permiso automático en superusuario tampoco funciona
  • ejecutar sudesde la terminal arroja una excepción: java.lang.SecurityException: la transmisión solicita ejecutar como usuario -1 pero está llamando desde el usuario 0; esto requiere android.permission.INTERACT_ACROSS_USERS_FULL o android.permission.INTERACT_ACROSS_USERS. Así que necesito establecer este permiso en algún lugar ...
No estoy 100% seguro, pero ¿no debería suser propiedad de system:system? AFAIK, no hay un usuario "raíz" en los dispositivos Android (de ahí el ID de usuario negativo "no válido", supongo). Tal vez intente chown system:system /system/xbin/suy vea si eso funciona. Informe de nuevo: si funciona, haré de esto una respuesta.
@Izzy Así que probé su sugerencia con varias cuentas, sistema, root, -1, rumbers aleatorios ... Y es extraño: siempre falla con la misma excepción, incluida la "llamada del usuario 0". Los bits Suid y Sgid eran correctos (triple verificación).
uid 0 es el usuario con más privilegios (raíz en Linux), por lo que "llamar desde" se ve bien. Puede probar qué usuario pertenece a esta identificación "demandándolo" y emitiendo el idcomando. // Por cierto, acabo de verificar en uno de mis dispositivos y tengo que retractarme de mi suposición anterior: suaparece como -rwsr-sr-x root root, solo que el tamaño difiere ( 104800 2013-12-31 23:32 suen mi dispositivo ICS). ¿Quizás su superusuario tiene un problema? Cheque ls -l /system/app/Super*, el mio me da -rw-r--r-- root root 570342 2012-01-01 04:41 Superuser.apk.
@Izzy Interesante. Así que tal vez estoy usando incorrecto o desactualizado su. He probado varias versiones 3 o 4 y ninguna coincide en tamaño. ¿Podría comprobar su -vsu versión? ¿ Y qué Superuseraplicación estás usando (me refiero a quién)?
Estoy usando SuperSu (y la salida es 1.86:SUPERSU) en un LG O4X 4.0.3 aquí (ese es el dispositivo que he comprobado). AFAIR Tengo superusuario de chainfire en mis otros dispositivos.

Respuestas (1)

Los comentarios de Izzy me llevan a la ruta correcta, por lo que logré rootear el dispositivo. Si alguien más tiene el mismo problema (los programas de rooteo automático no funcionan pero puede acceder al dispositivo usando adb root), aquí está el procedimiento completo para rootear su teléfono manualmente:

  1. Instale Superuserdesde ClockworkMod en Google Play directamente a su teléfono
  2. Prepare adb como root y haga que /systemse pueda escribir: adb kill-server, adb root, adb remount(es posible que deba matar adb.exeen el administrador de tareas si se cuelga)
  3. Tire del apk recién descargado a su computadora: adb pull /data/app/com.koushikdutta.superuser-1.apk( nota: puede tener un nombre diferente en el futuro)
  4. En su PC: abra el apk usando zip (por ejemplo, cambie el nombre de la extensión .zipo use WinRar)
  5. Copie de zip system\bin\sua su directorio de trabajo
  6. Empújelo a su teléfono:adb push su /system/xbin/su
  7. Asegúrese de que el propietario sea root:adb shell chown root:root /system/xbin/su
  8. Configure los bits SUID y SGID en el binario:adb shell chmod 06755 /system/xbin/su
  9. Reinicia el teléfono:adb reboot
  10. Prueba sudesde adb: adb shell, su; el indicador debe cambiar de $ a #
  11. Pruebe sudesde el teléfono: instale la terminal y use el comando suo use Root Checker Basicdesde la tienda
  12. Si sufrom adb funciona pero no funciona desde el teléfono, repita todo el proceso desde 1 pero descargue Superuseruna aplicación diferente del mercado (por ejemplo, la versión de ChainsDD no funcionó para mí)