¿Por qué "no hay suficiente espacio" cuando copio un archivo APK a /system/app?

Hace poco rooteé mi HTC Desire Bravo porque necesitaba acceso de lectura/escritura para /system/apppoder copiar un archivo APK allí.

Escribí aquí en stackexchange sobre la mejor solución para rootear Desire y me señalaron a Unrevoked. Todo funcionó bien y escribir "su" en el shell adb me da un buen acceso a la raíz.

Volví a montar /system como

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Eso funciono. Sin embargo, tratar de copiar mi archivo APK usando adb push MyApp.apk /system/app/no funcionó y me dio un "permiso denegado". Alternativamente, presioné la aplicación a / sdcard primero y quería hacer una

cat /sdcard/MyApp.apk > /system/app/MyApp.apk

Ese enfoque ha funcionado perfectamente en mi HTC Hero rooteado, en el Desire sin embargo me da

"No se puede crear /system/app/MyApp.apk: no hay suficiente memoria"

¿Alguien tiene una idea de cuál podría ser el problema aquí? ¿Cómo puedo enviar mi aplicación a la carpeta del sistema para que se instale correctamente?

Respuestas (4)

Los teléfonos HTC tienen una protección adicional de la carpeta /system, rootearlos no es suficiente para obtener acceso de escritura allí.

Tienes que desactivar esa protección. Esto se hace más fácilmente con la herramienta Revolutionary . Siga atentamente las instrucciones del sitio.

El enlace de la herramienta Revolutionary está muerto.
Oh hombre, @Raptor, mi HTC también está muerto, casi. Hace más de un año que no hago nada con él.

No sé si cat es la mejor opción para copiar un archivo. ¿Por qué no pruebas con el comando cp ? Puedo imaginar que cat lee todo el archivo en la memoria y, si es demasiado grande, ocurre este error.

cpno funcionará dentro de adb shell
¿está seguro? Recientemente moví un archivo a la carpeta system/lib usando clockwordmod recovery y "mv", EDIT: me acabo de dar cuenta, no especificaste si estabas usando recovery... tienes que arrancar en recovery porque el sistema es parte del flash está protegido contra copia (llamado s-on). solo en el modo de recuperación puedes escribir en él
sí, acabo de reconocerlo yo mismo y funciona ahora. Debería haber una forma de arrancarlo con "s-off", ¿verdad?
Sí, pero implica actualizar un cargador de arranque personalizado/pirateado que puede bloquear su teléfono.
Si está rooteado, debería poder reemplazar "cp" con "busybox cp", puede descargar Busybox si aún no lo tiene.
@Juri Es posible que ya hayas visto esto, pero si no, Google Alpha Rev para el método s-off para Desire, que te dará acceso de escritura a la partición del sistema dentro de la ROM, etc.

Hameno tiene razón. Aunque adb parecerá funcionar si el teléfono se inicia normalmente, en realidad no lo hará. Debe iniciar el teléfono en clockworkmod, luego iniciar adb, montar /system usted mismo (algo así como mount -o rw /dev/block/mtdblock3 /system) y jugar con el sistema de archivos.

Prueba la aplicación Root Explorer . En mi opinión, es el mejor administrador de archivos y puede volver a montar fácilmente /system y copiar archivos con él.

texto alternativo