Tag Archive | Android

Loop en tonos en Android


Muchas personas que usan Android, notarán que sus tonos personalizados sólo suenan una vez, así que si una persona llama y el teléfono suena más del tiempo que dura el tono (20 segundos por ejemplo), el celular vibra pero no emite más sonido pues el tono terminó, después de buscar la solución por un rato encontré que se debe adicionar un atributo a la etiqueta del archivo del tono. Todo lo que debemos hacer es:

1. Descargar un software de edición de etiquetas ID3 para mp3/ogg, yo probé en ArchLinux kid3 [1] (en tonos existentes) y audacity [2] (para crear nuevos tonos). En [3] pueden encontrar el proceso completo desde la instalación de Audacity

2. Editar/Crear el tono que deseemos que se repita indefinidamente al recibir una llamada y agregamos la propiedad ANDROID_LOOP con valor true

3. Copiar el tono a la carpeta Ringtones de la memoria interna/externa del teléfono

En el menú de selección de tono del celular, se puede verificar que el tono suena una y otra vez indefinidamente.

Probé lo anterior con mis tonos OGG y me funcionó muy bien, con mp3 no estoy seguro si funciona pero si algún lector lo prueba, por favor dejenos saber en los comentarios.

Don’t Worry, Be Linux!!!!

[1] http://kid3.sourceforge.net/

[2] http://audacity.sourceforge.net/?lang=es

[3] http://www.tytyweb.net/blog/2012/01/looping-ringtones-on-android/

Anuncios

Borrar carpetas con problemas de permisos en Android


Hola lectores

Tengo un Samsung Galaxy S3 que como otros dispositivos con Android 4 (ICS) ahora tienen la memoria interna en una misma partición que los datos del sistema de manera que no es necesario que el sistema desmonte la partición mientras se conecta el celular al PC (por ej pueden ver sus fotos desde el celular mientras desde el PC se están subiendo unos archivos al celular y se están viendo las carpetas), eso se logra con el uso de MTP, aunque esto acarrea más problemas para usuarios de GNU/Linux porque al montar como unidad externa el celular, se pierde la conexión constantemente porque MTP fue pensado para sistemas Windows inicialmente, en un próximo post hablaré de las alternativas que tenemos para acceder a los archivos de nuestro celular Android con estas características vía GNU/Linux.

Me conecté al celular por SSH con FileZilla (más sobre esto en el próximo post) y creé unas carpetas para meter unos documentos PDF, desde allí empezaron mis problemas dado que Adobe Reader no me reconoció los PDF’s y luego no pude eliminar las carpetas (el motivo de este post). Tengo mi celulear rooteado por lo que se supone que hay permiso para eliminar cualquier archivo siempre y cuando el sistema de archivos esté montado con permisos de escritura y podía eliminar cualquier archivo en la memoria interna (reconocida por Android 4.0 y superior como /data/media, /storage/sdcard0 pero se puede acceder por cualquier medio). Esto fue lo que pasó:

  • El problema fue que yo podía eliminar cualquier archivo en la sdcard interna menos las carpetas que había creado previamente
  • Algo que noté más raro aún fue que puedo renombrar las carpetas y hasta copiarlas a otra partición con permisos de escritura como /data pero no puedo cortar las carpetas o eliminarlas de la SD interna: renombré las carpetas a .garbage and .trash pero tampoco pude eliminarlas
  • Traté también creándome dos carpetas con los mismos nombres en el PC y subirlas a la memoria del teléfono pero no sirvió tampoco, quedé con los mismos errores de no poder eliminarlas por permisos
  • Traté de crear un archivo en las carpetas pero también falló
    touch .garbage/algo
    touch: .garbage/algo: Permission denied
  • Por CMW (ClockWorkMode, voy a escribir un tutorial de rooteo pronto…) probé formatear la SD pero como no es una partición aparte falla el formateo al hacer umount, wice wipes (incluso reinstalé CM10 -una ROM de Android muy popular- y sigue igual), también traté un hard reset (*2767*3855#) pero el código no hace nada en CM10 (creo que es propio de Samsung con stock y no aplica para mi celular con una ROM personalizada)

    Después de estar metido un rato en la terminal buscando soluciones y mirando los puntos demontaje encontré esto

    /dev/fuse on /storage/sdcard0 type fuse (rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,
    default_permissions,allow_other)

    que sifnifica que se monta la memoria interna como un usuario y grupo específicos (1023), así que verifiqué en la lista de procesos qué usuarios los estaban ejecutando y determinar cuál era el usuario con ID 1023 y determiné que era el usuario media_rw con el cual se estaba ejecutando este proceso

    media_rw   0:00 /system/bin/sdcard /data/media 1023 1023

    En este paso determiné que la memoria interna se monta como este usuario y quizá logeandose como él (su media_rw) se pudieran borrar las carpetas.

    Probando con el descubrimiento anterior finalmente pude borrar las carpetas con el siguiente procedimiento:

    1. Logearse como root (pueden omitir esto si se conectan por SSH con SSHDroid)

    su

    2. Montar /system con permisos de escritura

    mount -o rw,remount -t ext4 /dev/block/mmcblk0p9 /system

    3. Volver a ejecutar el comando sdcard

    /system/bin/sdcard /data/media 1023 1023

    4. Ir a la carpeta /data/media y borrar las carpetas no deseadas (en mi caso se llaman .trash y .garbage)

    rm -rf .trash .garbage

    5. Volver a montar como sólo lecutra /system (por seguridad)

    mount -o ro,remount -t ext4 /dev/block/mmcblk0p9 /system

    6. Se puede verificar que ya no existen las carpetas con

    ls -lsa /data/media/

    y la salida debería ser algo como (no están las carpetas .trash y .garbage

    # ls -lsa /data/media/
     total 443361
        4 drwxrwxr-x   14 media_rw media_rw      4096 Oct 12 10:25 .
        4 drwxrwx--x   23 system   system        4096 Oct 12 06:01 ..
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:06 .mmsyscache
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:01 Alarms
        4 drwxrwxr-x    3 media_rw media_rw      4096 Oct 12 06:03 Android
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:01 DCIM
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:01 Download
        4 drwxrwxr-x    5 media_rw media_rw      4096 Oct 12 06:09 GOLauncherEX
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:01 Movies
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:01 Music
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:01 Notifications
        4 drwxrwxr-x    3 media_rw media_rw      4096 Oct 12 08:55 Pictures
        4 drwxrwxr-x    2 media_rw media_rw      4096 Oct 12 06:01 Ringtones
     136520 -rw-rw-r--    1 media_rw media_rw 139791302 Oct 11 23:06 cm-10-20121011.zip
     85104 -rw-rw-r--    1 media_rw media_rw  87138923 Oct 11 23:02 gapps-jb.zip
        4 drwxrwxr-x    3 media_rw media_rw      4096 Oct 12 06:06 xiialive

    Espero les ayude a quienes tengan un problema similar y puedan controlar mejor sus dispositivos Android

    Don’t Worry……Be Linux!!!!!!!!

  • Misión: OpenMoko


    Buenas noches queridos lectores, este post es para comentarles sobre el aparatico que ya hace algún tiempo había visto y yme había llamado la atención pero no para el punto de adquirirlo. Se trata de OpenMoko, un proyecto para crear un SmartPhone que corra aplicaciones libres y cuyas especificaciones técnicas estén abiertas para el público. OpenMoko es una distribución con núcleo Linux para móbiles que corre con una versión de xorg con librerías GTK y con un gestor de ventanas llamado Matchbox (abre una sola ventana a la vez)

    El modelo de la izquierda se llamó Neo 1973 y el de la derecha (el más reciente) se denomina Neo FreeRunner y además de lo que les he comentado, es posible cambiarle hasta el sistema operativo e instalarle Android o actualizar la versión de Om (OpenMoko) que tenga instalada por defecto.

    Este SmartPhone no está dirigido a un público masivo (no tiene cámara ni soporte para 3G por ejemplo). Sin embargo es muy funcional y tiene cosas muy llamativas como el uso de software GPS, acelerómetro para detectar gestos con el movimiento y soporte para conectarse a una red wifi :D….. mejor dicho un juguete muy apreciado por los amantes de la tecnología y las personas que quieran hacer de todo con su teléfono celular sin restricciones absurdas impuestas por la combinación fabricantes/operadores.

    Este post es para que todos conozcan más acerca de este interesante proyecto y para que las personas interesadas en adquirir uno se apunten a la campaña que se está haciendo desde la lista de usuarios de software libre en Colombia (Colibrí).

    Los mantendré informados del avance de la campaña y si alguien está interesado, puede contactar conmigo para saber más….

    Por último, un tour virtual por el OpenMoko no sobra para que vayan conociendolo mejor y se animen a conseguir uno…..

    Dont’ Worry……..Be Linux!!!!!!!!!!!