PDA

Ver la versión completa : Análisis y disertaciones técnicas sobre Android, SDK y Linux



j0534ng31
24/01/2012, 11:28
Introducción (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146230&viewfull=1#post146230)


Novedades:



¿Que estoy documentando ahora? (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146235&viewfull=1#post146235)
La herramienta de Boroda - EBOOK_MSC (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146521&viewfull=1#post146521)
Modos de arrancar el T1 (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146516&viewfull=1#post146516)
Redes ad-hoc en el T1 - JoikuSpot (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146526&viewfull=1#post146526)




Índice de temas tratados:



La herramienta de Boroda - EBOOK_MSC (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146521&viewfull=1#post146521)
Modos de arrancar el T1 (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146516&viewfull=1#post146516)
)
Redes ad-hoc en el T1 - JoikuSpot (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146526&viewfull=1#post146526)
)




Archivos para descargar (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146231&viewfull=1#post146231)


Glosario (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146232&viewfull=1#post146232)

j0534ng31
24/01/2012, 11:28
Presentación:


Este hilo nace con la idea de ser una recopilación (más o menos organizada) de información acerca de las herramientas de desarrollo disponibles en y para un dispositivo Android, y de los métodos que resultan de aplicar dichas herramientas.

El PRS-T1 es el primer lector de Sony en el que subyace el sistema operativo Android y, puesto que muchas de las utilidades disponibles llevan usándose largo tiempo en otros dispositivos similares, no partimos de cero y sin herramientas para adaptarlo a nuestras necesidades.




Declaración de intenciones:


Al no ser éste un foro ni de técnicos ni de desarrolladores, no abunda aquí la información de este tipo. Además, creo estar acertado al suponer que, la mayor parte de los foreros interesados en el tema, carecerán de los conocimientos y de la jerga informática necesaria para comprenderla.

El propósito del hilo será más didáctico que práctico. Se pretende que los temas tratados sean comprendidos por todos y que se aborden desde varias perspectivas y/o con distintas técnicas. No se pretende crear una mera recopilación de procedimientos útiles que, por otra parte, podríamos encontrar con relativa facilidad en otros foros.

Con la esperanza de que resulte ameno, se intentará aquí adaptar el lenguaje utilizado al más profano de los lectores o, en el caso de que no sea posible, adaptarlo y/o ejemplificarlo para facilitar su comprensión.




Organización del hilo:


Habrá varios mensajes (posts) en posición fija y con contenido dinámico, como puedan ser esta introducción, un índice de temas tratados, un índice de novedades (temas tratados recientemente), una lista de archivos para descargar y un glosario.

Cada tema específico se desarrollará en un sólo mensaje, que se irá ampliando y corrigiendo a medida que resulte necesario. Dado que habrá un número indefinido de mensajes de este tipo, en aras de la simplicidad organizativa, no tendrán una posición fija en el hilo y serán accesibles a través del índice.




Utilización del hilo:


Se pretende que, todo lector que detecte un error, o no comprenda algo, o quiera profundizar más, o desee tratar un tema nuevo, participe en el hilo... Y que, todo lector que sepa responder al anterior, lo haga libremente... Por mi parte, en función del tiempo disponible, responderé a las dudas, corregiré los temas tratados y "alimentaré" el hilo con nuevos temas.

Dado que tiene vocación de convertirse en un hilo grande y de difícil mantenimiento, agradeceré que las participaciones se atengan, en general, a los temas que trata el hilo.

Quizás sobre en este foro, pero advierto que toda participación que falte al respeto a algún usuario, o esté repleta de barbarismos y/o solecismos será automáticamente ignorada (y, en su caso, reportada a un moderador.)

Por otra parte, si alguna información es del agrado de alguien, basta para agradecerla utilizar la herramienta del foro a tal efecto. De ese modo mantendremos más limpio y legible el hilo durante más tiempo.




Sobre el autor:


Mi nombre es José Ángel, y podéis utilizarlo si mi alias (una transliteración del mismo) os resulta difícil de escribir.

Tengo 40 años, soy asturiano, informático de profesión, trabajo por cuenta propia y me dedico a la seguridad y mantenimiento de sistemas informáticos de todo tipo en empresas de varios sectores.

Siento predilección por el hardware, sus modificaciones y sus usos alternativos. Además, me encanta leer, motivo por el que conseguí mi primer lector (un Papyre 6.1) y, ahora, el PRS-T1.

Mi interés por el sistema Android se originó al conseguir mi teléfono móvil, un HTC Magic, al que tengo un gran aprecio. Tras aprender algo del tema, realicé varias modificaciones en su firmware y, actualmente, lleva una ROM creada por mí expresamente para él. No tengo relación profesional alguna con el sistema Android, pero sí con los sistemas Unix y GNU/Linux que le sirven de base.

Trabajo normalmente en un portátil con Windows 7 64bits y Linux Fedora 15 64bits.

j0534ng31
24/01/2012, 11:28
Recopilación de enlaces a descargas de archivos útiles que se mencionan en los temas aquí tratados.



Redes ad-hoc en el T1 - JoikuSpot:

adhoctablets.zip: aquí (http://dl.dropbox.com/u/7404971/PRS-T1/Hilo/adhoctablets.zip) o aquí (http://downloadandroidrom.com/download/AndroidTabletHacks/AdhocWiFi/adhoctablets.zip?token=116274768)

j0534ng31
24/01/2012, 11:28
Recopilación de definiciones o explicaciones breves de los términos que se mencionan en los temas aquí tratados.

j0534ng31
24/01/2012, 11:29
Mensaje Reservado 4

j0534ng31
24/01/2012, 11:29
Mensaje Reservado 5

j0534ng31
24/01/2012, 11:29
Mensaje de uso temporal para recopilar información de otros hilos.

Lo que podáis ver aquí está en proceso de redacción.
No tiene por qué ser correcto ni tampoco completo...

Si no lo leéis, os calentareis menos la cabeza >:)

************************************************** *







Copias de seguridad del PRS-T1:


Debería ser la primera operación a realizar con el T1, después de hacernos con él e inmediatamente antes de rootearlo.


Se crean y restauran:

Desde un PC, con la herramienta de Boroda (1)
(Sólo funciona con firmwares "1.0.00.09010", "1.0.00.09270" y "1.0.02.10280")


Desde un PC, usando ADB, o telnet, o ssh (1) y (2)


Desde el propio T1, en 'modo recovery (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146516&viewfull=1#post146516)'
(Requiere utilizar una tarjeta Micro-SD)


Este método, aunque funciona, NO es conveniente para "system" o "data".
Al estar en uso esas particiones, podrían ocurrir errores durante la copia...
La copia corrupta, al restaurarse cuando sea necesario, producirá errores...
Y, una copia de seguridad con errores... ¡No proporciona ninguna seguridad!


Sólo se puede usar si "system" funciona correctamente y el T1 arranca bien.
Si no, el demonio ADB no estará activo y no se podrá conectar al T1 por ADB...
Y, por tanto, ¡no se podrá restaurar la copia de seguridad usando este método!
NO lo explicaré, porque es el más inútil y muy similar al del modo recovery.




Backup usando la herramienta de Boroda:

Para realizar las copias de seguridad:


:: Copiar el "disco" completo del T1 al PC (2GB, todo el T1)
:: (Funciona... equivale a volcar la ROM completa)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2 mmcblk2.img


:: Copiar parte del "disco" del T1 al PC (0x18 MB = 24 MB)
:: (Guarda el área de arranque completo. Incluyendo... )
:: (... Registro de Arranque Maestro (MBR) y Tabla de Particiones)
:: (Se hará si NO se hace el anterior, más completo, pero inmenso)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2 bootarea.img 0x1800000

Sony Reader MSC utility 1.06 (c) 2009 Igor Skochinsky, Vladimir Boroda
avail: 0
openDrive [\\.\F:]: 1
usbInitCheck: 0
/dev/block/mmcblk2->mmcblk2_1800000.img: 1958739968
.................................................. .......................
.................................................. .......................


:: Copiar cada "partición" del T1 a un archivo en el PC:

:: Partición 'Recovery' (el sistema de recuperación)
:: (Contiene un sistema Linux reducido, aunque se puede modificar)
:: (Tiene lo imprescindible para instalar actualizaciones oficiales)
:: (... Y nuestros rooteos personalizados ;) )
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p1 mmcblk2p1.img

:: Partición 'Diag' (el sistema de diagnóstico)
:: (Contiene un sistema Linux más completo que el de 'Recovery')
:: (Son herramientas de sistema para resolver problemas comunes)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p2 mmcblk2p2.img

:: La tabla de particiones extendida
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p3 mmcblk2p3.img

:: Partición 'READER' (memoria interna)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p4 mmcblk2p4.img

:: Partición 'fonts' (tipos de letra)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p5 mmcblk2p5.img

:: Partición 'dictionaries' (diccionarios)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p6 mmcblk2p6.img

:: Partición 'SETTING' (programa Sony reader para PC)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p7 mmcblk2p7.img

:: Partición 'preload' (guía de usuario + libros de muestra)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p8 mmcblk2p8.img

:: Partición 'data' (los datos del lector Sony)
:: (Contiene TODA la configuración y nuestras aplicaciones)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p9 mmcblk2p9.img

:: Partición 'system' (el sistema del lector Sony)
:: (Contiene el sistema Android y los programas de Sony)
ebook_msc name "PRS-T1" get /dev/block/mmcblk2p10 mmcblk2p10.img




Restore usando la herramienta de Boroda:

Para restaurar las copias de seguridad:


:: Copiar cada archivo del PC a su "partición" del T1 correspondiente

:: Partición 'data'
ebook_msc name "PRS-T1" put mmcblk2p9.img /dev/block/mmcblk2p9

:: Partición 'system'
ebook_msc name "PRS-T1" put mmcblk2p10.img /dev/block/mmcblk2p10

:: Partición 'READER' (sólo si es necesario)
ebook_msc name "PRS-T1" put mmcblk2p4.img /dev/block/mmcblk2p4

:: Partición 'SETTING' (sólo si es necesario)
ebook_msc name "PRS-T1" put mmcblk2p7.img /dev/block/mmcblk2p7




Backup desde el 'modo recovery':















Conectar el T1 en 'modo recovery':












¿Qué es el Android SDK?


Según google, en el sitio español de Android (http://code.google.com/intl/es/android/):



"Android es una 'pila de software' para dispositivos móviles que incluye un sistema operativo, aplicaciones esenciales y middleware."

"El Android SDK proporciona las herramientas y las API necesarias para desarrollar aplicaciones que se puedan ejecutar en dispositivos con la tecnología de Android."



Desde mi punto de vista:



"Android es un sistema operativo de Google, que consiste en una distribución Linux sobre la que se ejecuta una máquina virtual Java (http://es.wikipedia.org/wiki/Dalvik) modificada.
Inicialmente, se creó para gobernar dispositivos móviles (concrétamente teléfonos.)"

"El Android SDK ('Software Development Kit' o 'Kit de Desarrollo de Software de Android') permite desarrollar aplicaciones para dispositivos Android utilizando el lenguaje de programación multiplataforma Java."



En la página web de Android para desarrolladores (http://developer.android.com/index.html) hay mucha información, muy buena y bien organizada, sin embargo, sólo está disponible en inglés y en chino.



¿Lo necesito realmente?


Todo aquél que no tenga ninguna intención de programar, lo encontrará igualmente útil porque incluye:


Un paquete de utilidades que permitirá conectar el PC al T1 (por cable USB o por red inalámbrica) para, en cierto modo, controlarlo desde el PC.

La conexión mediante red inalámbrica evita usar el cable USB cada dos por tres, y envejecer la batería del T1 prematuramente.


Un 'emulador de dispositivos Android' que, aun siendo de uso opcional, nos facilitará muchísimo la vida. Es un QEMU adaptado.



Algunos de los usos más habituales y prácticos del paquete de utilidades son:

'adb logcat': Muestra información de control de fallos.
Por ejemplo, permite ver por qué no instala alguna aplicación...
O por qué otras aplicaciones se cierran solas según las abrimos.
'adb logcat *:E *:S': Muestra sólo mensajes de error.
'adb logcat *:W *:S': Muestra mensajes de advertencia y error.
'adb logcat MiApp:F *:S': Muestra errores fatales de MiApp.


'adb remount': Re-monta todas las particiones en modo lectura/escritura.


'adb push/pull': Envía y recibe archivos, del PC al T1 y viceversa.
Por ejemplo, envía el 'su' para rootear el T1 sin usar paquetes de rooteo...
O el 'busybox', que tanta utilidad va a tener en el futuro.


'adb shell': Envía comandos para que los ejecute el T1.
Por ejemplo, borrar archivos que sobren, deja hueco para otros más útiles.


'adb install/uninstall': Instala y desinstala aplicaciones en el T1.
Evita apagar el T1 para sacar/meter la Micro-SD... Y evita usar 'root explorer'.
Evita instalar packs de rooteo con el único fin de actualizar aplicaciones.


'adb sync': Sincroniza el contenido de una carpeta del PC con otra del T1.
Por ejemplo, mantiene actualizado un almacén de aplicaciones en la Micro-SD.


'adb bugreport': Genera un archivo con mucha información relativa al T1.


'adb backup/restore': Crea y restaura copias de seguridad de archivos.
Por ejemplo, hace backup (con una única orden) de TODA aplicación instalada.


'adb reboot': Reinicia el T1.
Funciona aun cuando el T1 parece colgado, o nos agobia un mensaje 'sin fin'.


'aapt list Mi_App.apk': Lista los archivos que contiene la aplicación.


'aapt dump permissions Mi_App.apk': Indica que permisos requiere.
Sirve para saber por qué una aplicación se niega e ser instalada, por ejemplo.


'aapt add/remove Mi_App.apk archivos': Añade/Elimina archivos al/del apk.


'ddms': Abre una ventana de información de debug de la 'maquina Dalvik'
Muestra un registro, el uso de CPU, de memoria e información de los procesos.



A su vez, el emulador de Android permite:

Arrancar máquinas virtuales especificando un nombre preasignado:
'emulator @Mi_MV' activará la denominada 'Mi_MV'.
(Ver la inmensa lista de opciones con 'emulator -help')


Gestionar visualmente las máquinas usando 'AVD Manager'.


5402


Probar aplicaciones desde el PC, sin "ensuciar" nuestro T1.


Instalar un market, si nuestro T1 no lo permite.


Hacer y probar scripts aun cuando no se tenga el T1 "a mano".
Evita estropear el sistema del T1 si un script no funciona bien.


Instalar tantas aplicaciones como desee, hacer un backup y crear un almacén.
Evita tener que instalar y actualizar las aplicaciones en el T1 de una en una.



Instalar el Android SDK:


El proceso consiste en:

Descargar e instalar el 'Java SE Development Kit (JDK) (http://www.oracle.com/technetwork/java/javase/downloads/index.html)'


Descargar e instalar el 'Android SDK (http://developer.android.com/sdk/index.html)' apropiado nuestro sistema.
(Yo uso el recomendado para Windows y lo instalo en C:\Android)


Completar un asistente que, como mínimo, instalará:


Tools
(Android tools y Platform tools)


Android 2.2 API 8 - froyo
(Seleccionar todo)


Extras (Android support, USB driver, Webdriver y Market Licensing)


(OPCIONAL): Android 2.3.3 API 10 - gingerbread
(Seleccionar todo)


5401




Desarrollar aplicaciones:


Además del Java SE DK y Android SDK, para programar aplicaciones Android se necesita:

'Eclipse': un entorno de desarrollo integrado (IDE) que centraliza y facilita la labor.
(Se podría usar otro, o ninguno,... pero es el que usa el 90% de la gente)


El 'plugin ADT (Android Development Tools)' de Android para Eclipse, que permite:


Crear y configurar proyectos nuevos de Android


Diseñar y programar aplicaciones de Interfaz de Usuario (UI)


Depurar y evaluar el rendimiento de aplicaciones, con ayuda del Android SDK


Generar instaladores de aplicaciones en formato '.APK' (firmados o sin firmar)



La instalación consiste en:


Descargar e instalar 'Eclipse (http://www.eclipse.org/downloads/)' (versión (http://www.eclipse.org/downloads/compare.php) Classic o Java Developers)
Hay versiones para Windows, Linux y MacOS; de 32 y 64 bits.
Se instala como cualquier otro programa.
(Yo lo instalo en C:\Eclipse)


Ejecutar 'Eclipse' e ir a 'Help' --> 'Install New Software' --> 'Work with:'


Escribir "https://dl-ssl.google.com/android/eclipse/" y pulsar [ENTER]
A veces da error,... en ese caso, probar también con "http://"


Pulsar 'Select all' --> 'Next'


Reiniciar 'Eclipse' y configurar el nuevo plugin:


Ir a 'Window' --> 'Preferences' --> 'Android' --> 'SDK Location:'


Escribir la ruta donde está instalado el Android SDK
(En mi caso: C:\Android)













Activar ADB en el T1:


1: Tener el sdk instalado y funcionando:

- Instalar enable-adb.zip (http://projects.mobileread.com/reader/users/porkupan/PRST1/flash_packages/enable-adb.zip) en el T1 (Igual que el proceso de rooteo)
- Activar "Android Settings -> Applications -> Development -> USB Debugging Enabled"... (en español debería ser "configuración -> aplicaciones -> desarrollo -> Activar depuración USB"
- Instalar Android SDK en el PC
- Editar <android-sdk-install-path>\extras\google\usb_driver\android_winusb.inf y...
- Añadir, bajo la sección [Google.NTx86], la línea "%CompositeAdbInterface% = USB_Install, USB\VID_054C&PID_05C2&MI_01"
- Editar "%USERPROFILE%\.android\adb_usb.ini" añadiendo una linea "0x054C"
- Conectar el T1 al PC y NO dejar que se conecte en "modo de transferencia de datos"
- Si no pide un controlador, hay que ir al "administrador de dispositivos" de Windows -> "controladores USB" -> "Dispositivos de almacenamiento masivo"... Mirar los "detalles -> ID de Hardware" de cada dispositivo hasta que encontremos uno cuyo "ID de Hardware" = USB\VID_054C&PID_05C2... Ese dispositivo lo borraremos y pulsaremos "actualizar dispositivos" (F5)
- Si pide un controlador, darle la ruta "<android-sdk-install-path>\extras\google\usb_driver" para que lo busque... Instalará un dispositivo adb

3- Para comprobar si funciona la versión que tienes instalada, conecta el T1 para adb (no modo almacenamiento) y ejecuta en una ventana msdos del PC:
Código:
cd c:\android\tools
adb kill-server
adb devices
Deberá responderte con una línea con un dispositivo y unos numerajos

Paso 2: Si ya tienes instalado adb y funciona, se supone que debes:

1- Conectar el T1 al PC en modo adb y sin tarjeta Micro SD puesta

2- Extraer el contenido del enable_adb.zip de boroda (que ya debes tener por ahí dado que te funciona el adb) en una carpeta cualquiera del PC,... por simplificar estaría bien guardarlo en la misma carpeta que las utilidades del sdk
(Como no lo tengo instalado hace meses no me acuerdo, pero creo que era c:\android\tools\)

3- Arrancar el T1 en modo recovery.

nemo3146
24/01/2012, 11:51
Cudado el primer lector con Android fue el Nook.........

j0534ng31
24/01/2012, 11:54
Cudado el primer lector con Android fue el Nook.........

Ya... pero especifico de Sony...

Me ha quedado un tostón :-s y encima vacío de contenido :p

¿Tienes idea de qué hay que hacer para que aparezcan definiciones sobre las palabras? Por ejemplo, firmware aparece automáticamente en color verde y, al colocarte sobre ella, aparece una explicación...

Con un visor de código fuente veo que es un "acronym", pero no se dónde se definen...

nemo3146
24/01/2012, 13:11
Ya... pero especifico de Sony...

Me ha quedado un tostón :-s y encima vacío de contenido :p

¿Tienes idea de qué hay que hacer para que aparezcan definiciones sobre las palabras? Por ejemplo, firmware aparece automáticamente en color verde y, al colocarte sobre ella, aparece una explicación...

Con un visor de código fuente veo que es un "acronym", pero no se dónde se definen...

Ni idea....

surquizu
24/01/2012, 13:25
Lo voy a seguir con interés. ¿excactamente pretendes que los no-programadores, si nos interesa, seamos capaces de llegar ha crear o modificar alguna aplicación o solo que entenadmos de que va android pero sin posibilidad de alterar nada?

nemo3146
24/01/2012, 13:33
Sin meterme en tu post que tu ya lo tendrás ordenado en la cabeza, lo que me parece que deberías hacer es una recopilación de todo lo que se ha escrito sobre modificación y desarrollo hasta ahora, especialmente por ti. Desde lo del ADB hasta lo de los problemas con las malditas particiones...supongo que estarás en ello pero a costa de ser pesao me atrevo recordartelo....

j0534ng31
24/01/2012, 15:59
Lo voy a seguir con interés.
Gracias


¿exactamente pretendes que los no-programadores, si nos interesa, seamos capaces de llegar a crear o modificar alguna aplicación o solo que entendamos de que va android pero sin posibilidad de alterar nada?
¡Alterarás...!, ¡Alterarás...!, ¡Puedes estar seguro! >:)

Pretendo que entendáis mejor la "plataforma":

Que entendáis el sistema operativo Android que hay bajo el software de Sony
Que entendáis el sistema operativo Linux que hay bajo el Android
Por qué y para qué existe un SDK Android
Por qué y para qué existe un SDK FreeScale
Que tengáis aquí procedimientos varios para lograr múltiples modificaciones y objetivos (explicados).
Que haya un lugar para preguntar: ¿Y como se hace ...? ¿El comando ... de android/linux para que sirve? ¿Cómo se aplica ... a mis X mil libros sin tener que ir de uno en uno? Y, si busco una "expresión regular" ¿Quién me ayuda?
En definitiva, que tengáis la base necesaria para poder modificar el sistema, su distribución ("las malditas particiones" :p ) u otras cosas relacionadas, por vuestra cuenta o entre todos.
Lo que no pretendo, es programar en java para Android... Nunca lo he necesitado y hay una inmensa variedad de aplicaciones...

Esto va de "entender" y de "adaptar" o "modificar"... "Crear" cosillas podemos, pero "programar" es otra historia...

Estoy marcando la diferencia entre hacer scripts y programar en java, porque los scripts son de uso general (útiles con cualquier otro Linux y/o Android, e incluso PC, aparato GPS, reproductor multimedia o televisor), y bastan para hacer las modificaciones que aquí se traten...
En cambio, la programación en java es un tema muy amplio y más farragoso (para mi). Usa tantas "API"s de Android (la versión del T1) que es más bien específico para el T1.

Entendedme bien... No me niego, pero yo no me siento capacitado...


lo que me parece que deberías hacer es una recopilación de todo lo que se ha escrito sobre modificación y desarrollo hasta ahora, especialmente por ti. Desde lo del ADB hasta lo de los problemas con las malditas particiones...
Estoy, estoy... pero es que todo lleva la tira de tiempo...

Empezaré por recopilar los míos, editando los mensajes donde están ahora para redirigirlos hacia los nuevos mensajes sitos aquí... Y los remozaré y ampliaré en base a la "declaración de intenciones" y al debate que generen en este hilo...

Luego creo que estaría bien traer aquí y ampliar algunas cosas que ya hay por ahí repartidas, pero tengo que pedir permiso antes a sus autores... Ahora mismo me vienen a la cabeza los dos procedimientos (creo que ambos de jupla) para traducir (o modificar más a fondo) las aplicaciones Android.

Y después habría que empezar por el principio... Quiero decir que hasta ahora he hablado de los temas que han surgido... Convendría empezar la casa por los cimientos para que los que sepan menos del tema lo vayan asimilando y puedan entender el resto...

Ya veremos... ;)

Terisa
24/01/2012, 16:40
Estoy marcando la diferencia entre hacer scripts y programar en java, porque los scripts son de uso general (útiles con cualquier otro Linux y/o Android, e incluso PC, aparato GPS, reproductor multimedia o televisor), y bastan para hacer las modificaciones que aquí se traten...


Ojo, esto solo es cierto si los scripts son muy, muy simples. Incluso el mismo tema de las expresiones regulares dentro de un script puede darte dolores de cabeza de un sistema a otro, o si pasas de ksh a bash o csh.

j0534ng31
24/01/2012, 16:51
Ojo, esto solo es cierto si los scripts son muy, muy simples. Incluso el mismo tema de las expresiones regulares dentro de un script puede darte dolores de cabeza de un sistema a otro, o si pasas de ksh a bash o csh.

Si, si,... lo que quiero decir es que, la comprensión de los scripts es portable (los scripts no necesariamente)...

Pero convendrás conmigo que, en este tipo de aparatos, en cuanto instalas busybox (con su ash) y/o bash... hasta los scripts son portables (si no trabajan sobre hardware específico)

Y, por supuesto, hay que programar usando un juego de instrucciones y parámetros básico que, preferiblemente, exista en cualquier otro sistema... Terisa, ¡no me piques, que me acabarás obligando a decir POSIX! :p

Con las "expresiones regulares" (que aún no debería haber mencionado) me refería, no a las de la shell, sino a las de "sed" o "awk"... como también forman parte de busybox "creo" que son portables (no me he encontrado nunca con un caso negativo entre las que yo uso)

De hecho, hace años que no uso más que ash/bash porque es lo que, seguro, vas a encontrar en este tipo de aparatos... y eso que empecé con csh (lo dominaba y estaba muy contento) y que, cuando descubrí la potencia del ksh pensé ya no había marcha atras...

Terisa
24/01/2012, 17:03
Si, si,... lo que quiero decir es que, la comprensión de los scripts es portable (los scripts no necesariamente)...

=)) =)) Eso depende del script, y lo digo por experiencia.




Pero convendrás conmigo que, en este tipo de aparatos, en cuanto instalas busybox (con su ash) y/o bash... hasta los scripts son portables (si no trabajan sobre hardware específico)


Si tienen bien las variables de entorno, si todos los ficheros están en el mismo sitio, si todos tienen el mismo tipo de shell, si, si, si...



Y, por supuesto, hay que programar usando un juego de instrucciones y parámetros básico que, preferiblemente, exista en cualquier otro sistema... Terisa, ¡no me piques, que me acabarás obligando a decir POSIX! :p


Vale, entonces sí, scripts que no hagan muchas cosas, sí :p



Con las "expresiones regulares" (que aún no debería haber mencionado) me refería, no a las de la shell, sino a las de "sed" o "awk"... como también forman parte de busybox "creo" que son portables (no me he encontrado nunca con un caso negativo entre las que yo uso)

Suelen serlo dependiendo ya de lo liado que seas. En awk, dependiendo de si estamos con awk o gawk, de cómo usemos las variable... sed sí, suele estar bastante más restringido.

j0534ng31
24/01/2012, 17:28
Terisa,

Sigo pensando que eres mala, mala, ¡malísima! :p


=)) =)) Eso depende del script, y lo digo por experiencia.

Si tienen bien las variables de entorno, si todos los ficheros están en el mismo sitio, si todos tienen el mismo tipo de shell, si, si, si...
Me los vas a asustar y hacer que piensen que, aprendan lo que aprendan, será inútil... >:)


Vale, entonces sí, scripts que no hagan muchas cosas, sí :p
Pero si para "adaptar" un chisme de estos ¡siempre se intenta hacer lo mismo!...
Son cuatro cosas y hay ocho formas de hacerlas... de entre todas, al menos una funciona =))


Suelen serlo dependiendo ya de lo liado que seas. En awk, dependiendo de si estamos con awk o gawk, de cómo usemos las variable... sed sí, suele estar bastante más restringido.
En esto no te entiendo... Quiero decir, yo no hablo de usar el 'sed' o 'awk' del sistema...
Yo hablo de instalar/usar un busybox (siempre el mismo) y utilizar el 'sed' y 'awk' embebidos en él (precisamente para garantizar la 'compatibilidad' de las instrucciones)

En todo caso, la gracia está en saber que las "expresiones regulares" existen y que se pueden usar para programar cosas... o para sustituir "cosas" en libros... e, incluso, para hacer programas (obfuscated sed ::pum:: )

Terisa
24/01/2012, 17:40
Terisa,

Sigo pensando que eres mala, mala, ¡malísima! :p


Gracias ;))



Me los vas a asustar y hacer que piensen que, aprendan lo que aprendan, será inútil... >:)


No, simplemente que quede claro que no es algo trivial y que no se depriman si ven cosas raras que no entienden. Que hay gente muy rebuscada ;)



Pero si para "adaptar" un chisme de estos ¡siempre se intenta hacer lo mismo!...
Son cuatro cosas y hay ocho formas de hacerlas... de entre todas, al menos una funciona =))


No tengo idea, la verdad es que no me llama nada la idea de trastear con estos cacharros, qué le vamos a hacer ;)



En esto no te entiendo... Quiero decir, yo no hablo de usar el 'sed' o 'awk' del sistema...
Yo hablo de instalar/usar un busybox (siempre el mismo) y utilizar el 'sed' y 'awk' embebidos en él (precisamente para garantizar la 'compatibilidad' de las instrucciones)

Vale, entonces si está restringido sí. Yo he usado incluso el gawk de gnu en windows cuando lo he necesitado.



En todo caso, la gracia está en saber que las "expresiones regulares" existen y que se pueden usar para programar cosas... o para sustituir "cosas" en libros... e, incluso, para hacer programas (obfuscated sed ::pum:: )

Ya, eso sí ;)

nemo3146
24/01/2012, 18:13
ahi va que buen rollito....tenmos asegurados debates de altura en este post.... va a ser de imprescindible lectura

=D>=D>=D>=D>=D>

j0534ng31
24/01/2012, 18:24
ahi va que buen rollito....tenmos asegurados debates de altura en este post.... va a ser de imprescindible lectura

=D>=D>=D>=D>=D>

En realidad respondo a todos...

Como yo siempre tengo internet (llevo un cable enganchado en salva sea la parte), redactaré los mensajes aquí mismo (en el mensaje numero 6 del hilo)

Así siempre sabréis a que me estoy dedicando y podréis comentar algo antes de que acabe (cosas que echáis en falta, errores que se me pasen y cosas así)

De todos modos, estos próximos días esto no va a haber por donde cogerlo... voy a ir metiendo lo de mis mensajes de otros hilos, incompleto (tal cual esté), para luego ir redactándolo y ampliándolo.

O sea, que no le hagáis mucho caso. :p

Terisa
24/01/2012, 18:36
Y yo, una vez metidas las pullitas, dudo que aparezca mucho ;) En serio, escribir no es lo mío. Por cierto, en el tema de expresiones regulares, hay un par de hilos para corregir PDFs que ya las tienen incluidas v

mafdent
24/01/2012, 18:37
En realidad respondo a todos...

Como yo siempre tengo internet (llevo un cable enganchado en salva sea la parte), redactaré los mensajes aquí mismo (en el mensaje numero 6 del post)

Así siempre sabréis a que me estoy dedicando y podréis comentar algo antes de que acabe (cosas que echáis en falta, errores que se me pasen y cosas así)

De todos modos, estos próximos días esto no va a haber por donde cogerlo... voy a ir metiendo lo de mis mensajes de otros hilos, incompleto (tal cual esté), para luego ir redactándolo y ampliándolo.

O sea, que no le hagáis mucho caso. :p

Hola ¿es posible un feed de solo este post?

j0534ng31
24/01/2012, 20:06
Hola ¿es posible un feed de solo este post?

Pues... lo desconozco... Terisa, vida ¿estás presente? >:)>:)>:)

Otra cosa Terisa, ya buscaré yo, pero si encuentras esos hilos de "expresiones regulares"... por favor, pásame los enlaces.

Gracias

Terisa
24/01/2012, 22:07
Hola ¿es posible un feed de solo este post?

Para empezar es un hilo, no un mensaje (salvo que te refieras al que citas :p). Y en el desplegable de herramientas, justo encima del hilo, hay una opción de suscribirse al tema con diversas posibilidades.

Tsk, tsk, cuanta tecnología y qué poca curiosidad ;)

j0534ng31
24/01/2012, 23:39
Para empezar es un hilo, no un mensaje (salvo que te refieras al que citas :p). Y en el desplegable de herramientas, justo encima del hilo, hay una opción de suscribirse al tema con diversas posibilidades.

Tsk, tsk, cuanta tecnología y qué poca curiosidad ;)

Calla, calla... que es aún mas grave que no lo supiera yo... :\')

Y eso que, ahora que lo dices, había opciones para que me suscribiera de la que creé el hilo...

Lo dicho, ¡vergonzoso! >:)

jotam
25/01/2012, 14:13
Buenas. Da un poco de cosa entrar por aquí sin un buen proposito, dada a declaración de intenciones y todo eso.

Estaba mirando lo de aplicaciones y se me ocurrió un tema que puede ser interesante. Y te veo más capacitado ati para llevarlo a cabo, pero ahí va: Cosas sencillas que se pueden hacer con el terminal desde esl propio terminal. (Y esto se va parecer al 1,2,3 cuando decían, por x díganos cosas que se puedan hacer con el terminal... por ejemplo... :p)

Reiniciar el T1 sin aplicación ninguna

su +intro
reboot +intro

Instalar aplicaciones

su +intro
pm install /mnt/sdcard/carpetaplicaciones/aplicacionX.apk +intro

O el código ese tan chulo de instalar varias aplicaciones de un tirón.


Vale. Ya sé que te va más desde adb, porque todo lo haces con el teclado del pc, pero se me ocurrió que si se instalaban programas para reiniciar, con el terminal, y un par de comandos, esas aplicaciones, innecesarias.

Adios.

j0534ng31
25/01/2012, 17:46
Modos de arrancar el T1:

Existen distintas formas de arrancar el T1, en función de lo que queramos hacer con él, a saber:

En modo normal: (el modo estándar)


Es el modo de arranque en el que se comporta como un lector de libros.

En el PC, usando la herramienta de Boroda (ebook_msc):
ebook_msc name "PRS-T1" um normal
En el PC, usando ADB:
adb reboot
En el PC, usando adb shell:
adb shell "chgboot normal && reboot"
En el T1, accediendo a un terminal (o adb shell, o telnet, o ssh):
chgboot normal && reboot




En modo recovery: (el modo de recuperación)


Es el modo de arranque que sirve para hacer copias de seguridad y meter actualizaciones oficiales.

Cuando se pueda, servirá para meter una nueva ROM cocinada por nosotros.

En el PC, usando la herramienta de Boroda (ebook_msc):
ebook_msc name "PRS-T1" um recovery
En el PC, usando ADB:
adb reboot recovery
En el PC, usando adb shell:
adb shell "chgboot recovery && reboot"
En el T1, accediendo a un terminal (o adb shell, o telnet, o ssh):
chgboot recovery && reboot
En el T1, usando:
La combinación de teclas 'Home' + 'Menu' al arrancarlo.




En modo bootloader o fastboot: (Aun no se sabe como)


Es el modo de arranque que sirve para meter actualizaciones no firmadas, o meter un firmware de otra región.

Está anulado en los dispositivos a la venta.
Habría que modificar el bootloader (gestor de arranque), activar el soporte USB y activarlo.

Los rusos estarían encantados de activarlo, ya que podrían meter nuestro firmware en sus aparatos.
A nosotros nos serviría también para cambiar a una versión de firmware más antigua.

En el PC, usando ADB:
adb reboot bootloader o
adb reboot-bootloader
En el T1, usando:
Una combinación de teclas aun desconocida al arrancarlo.

j0534ng31
25/01/2012, 17:51
Reiniciar el T1 sin aplicación ninguna

Ya sé que te va más desde adb, porque todo lo haces con el teclado del pc, pero...

Como verás, ya estoy en ello... :-\" ¡Dije que pondría alternativas!... Todas las que yo sepa... :p

j0534ng31
25/01/2012, 17:56
La herramienta de Boroda - EBOOK_MSC:


Es una utilidad muy práctica, creada por Boroda e Igorsk para los Sony PRS.
Sólo requiere conectar el T1 al PC por USB.
Se consigue en cualquier paquete de rooteo.


Sirve para:

Proporcionar información del T1 y sus unidades de "disco"
Reiniciar el lector
Leer y escribir "particiones" o "discos" del T1 al PC y a la inversa
Sólo en versiones de firmware "1.0.00.09010", "1.0.00.09270" y "1.0.02.10280"
(No lee ni escribe en la versión "1.0.03.11140", en la rusa, ni tampoco en la japonesa)



Instrucciones de uso: (ejemplificadas)


:: Mostrar información de las unidades de disco del T1
:: (apagado lo no relevante, resaltado lo que sí)
ebook_msc listdrv


D;HL-DT-ST;DVDRAM;NE02;;
E;SAMSUNG;HM641JI;2AJ1;;
F;SONY;PRS-T1;2001;;SETTING
G;SONY;PRS-T1;2001;;
H;SONY;PRS-T1;2001;;READER




:: Mostrar información "general" del T1
:: (resaltadas la letra y la versión de firmware)
ebook_msc name "PRS-T1" info


Sony Reader MSC utility 1.06 (c) 2009 Igor Skochinsky, Vladimir Boroda
avail: 0
openDrive [\\.\H:]: 1
usbInitCheck: 0
USB protocol versions:0 (?): 01000000
1 (Device): 01000010
2 (Updater):00000000
3 (?): 01000000
UsbGetDevProperty: 0
Device name: Reader
Device model: PRS-T1
Device version: 1.0.00.09270
Device locked: no




:: Mostrar la letra del disco "READER" del T1
ebook_msc name "PRS-T1" getdrv


H




:: Reiniciar el T1 en modo "normal"
ebook_msc name "PRS-T1" um normal


Se reinicia, sin más




:: Reiniciar el T1 en modo "recovery" (con el T1 "de fábrica" no funciona)
ebook_msc name "PRS-T1" um recovery


Se reinicia y se queda parpadeando el LED de carga
Rellena la barra de "opening book...", y
¡Se queda así! (en modo recovery NO hay pantalla)




:: Volcar la ROM del T1 (2GB, todo el T1)
:: (No funciona... Tal vez en otros modelos)
ebook_msc name "PRS-T1" fulldmp


Sony Reader MSC utility 1.06 (c) 2009 Igor Skochinsky, Vladimir Boroda
avail: 0
openDrive [\\.\H:]: 1
usbInitCheck: 0
Skipping /dev/mtdblock1 (-1)
Skipping /dev/mtdblock2 (-1)
Skipping /dev/mtdblock3 (-1)
Skipping /dev/mtdblock4 (-1)
Skipping /dev/mtdblock5 (-1)
Skipping /dev/mtdblock6 (-1)
Skipping /dev/mtdblock7 (-1)
Skipping /dev/mtdblock8 (-1)
Skipping /dev/mtdblock9 (-1)
Skipping /dev/mtdblock10 (-1)
Skipping /dev/mtdblock11 (-1)
Skipping /dev/mtdblock12 (-1)
Skipping /dev/mtdblock13 (-1)
Skipping /dev/mtdblock14 (-1)
Skipping /dev/mtdblock15 (-1)
Skipping /dev/mtdblock16 (-1)
Skipping /dev/mtdblock17 (-1)
Skipping /dev/mtdblock18 (-1)
Skipping /dev/mtdblock19 (-1)




:: Copiar el [device] del T1 a un [archivo] en el PC
:: (Obtener una "imagen/backup de [device]")
ebook_msc name "PRS-T1" get /dev/block/[device] [archivo]


Sony Reader MSC utility 1.06 (c) 2009 Igor Skochinsky, Vladimir Boroda
avail: 0
openDrive [\\.\H:]: 1
usbInitCheck: 0
/dev/block/mmcblk2p1->mmcblk2p1.img: 10485760
.................................................. ...............
.................................................. ...............




:: Copiar el [archivo] del PC en el [device] del T1
:: (Restaurar [device] desde la "imagen/backup de [device]")
ebook_msc name "PRS-T1" put [archivo] /dev/block/[device]


Similar salida al anterior...




:: Borrar el dispositivo [device] del T1
ebook_msc name "PRS-T1" del /dev/block/[device]


Nunca lo he usado... No le veo utilidad...





Alternativas para proporcionar información:



No sé cómo consiguen la información Boroda e Igorsk pero, se puede hacer de otras formas:

En Linux se puede usar lsusb (listar dispositivos USB)

En Windows se puede usar WMIC (Windows Management Instrumentation Command-line)


Muestro un ejemplo, sin entrar en más detalles, porque esto es de otro universo:

Prerrequisitos:

Activar el 'modo depuración USB'
Conectar el T1 al PC en 'modo transferencia de datos'
Abrir una ventana de MS-DOS



:: Nombre de dispositivo (¿Qué modelo de PRS es?)
WMIC /Output:STDOUT Path Win32_DiskDrive Where ^(InterfaceType^="USB" And Index^="1"^) Get Caption | find /i "Sony PRS"

Sony PRS-T1 USB Device


:: Nombres de discos, orden, número de índice y tamaño
WMIC /Output:STDOUT Path Win32_DiskDrive Where ^(InterfaceType^="USB"^) Get Caption,DeviceID,Index,Size /Format:table

Caption DeviceID Index Size
Sony PRS-T1 USB Device \\.\PHYSICALDRIVE1 1 1513451520
Sony PRS-T1 SD USB Device \\.\PHYSICALDRIVE2 2 3964584960
Sony PRS-T1 Setting USB Device \\.\PHYSICALDRIVE3 3 8225280


:: Letra, nombre, sistema de archivos, capacidad, espacio libre y núm. serie de volumen
WMIC LogicalDisk Where DriveType="2" Get Caption,VolumeName,FileSystem,Size,FreeSpace,Volum eSerialNumber /Format:table

Caption FileSystem FreeSpace Size VolumeName VolSerialN
F: FAT32 1494601728 1512022016 READER 4D1E7050
G: FAT32 3065552896 3065757696 SDCARD C3B7F027
H: FAT 8134656 10446848 SETTING 4E811EC9


:: (Otro modo distinto)
:: Letra, nombre, sistema de archivos, capacidad y espacio libre
WMIC /Output:STDOUT Path Win32_Volume Where ^(DriveType^="2"^) Get DriveLetter,Label,FileSystem,Capacity,FreeSpace

Capacity DriveLetter FileSystem FreeSpace Label
1512022016 F: FAT32 1494601728 READER
3065757696 G: FAT32 3065552896 SDCARD
10446848 H: FAT 8134656 SETTING




Alternativas para copiar particiones:

Poca variedad hay, pero en todo caso... yo sólo usaría el comando Unix 'dd'


El comando 'duplicate device' sirve para... ¡duplicar dispositivos! :p , en el sentido más estricto de la palabra.

Se le dice un origen 'if' (input file o archivo de entrada) y un destino 'of' (output file o archivo de salida) y él se encarga del resto.

Si el 'if' es un 'tipo de chisme infinito' (como /dev/null, /dev/zero, /dev/random o /dev/yes) habrá que especificar cuanto quiero copiar.

Además, sirve para realizar conversiones/traducciones de todo tipo, al vuelo.

Y es muy muy versátil, porque no tiene en cuenta si 'if' y 'of' son el mismo tipo de animal...

Esto facilita escribir discos a archivos... o al revés... Que precisamente es la definición de 'copia de seguridad'


Se verá más información, con ejemplos, en el capítulo de copias de seguridad...



Alternativas para reiniciar el T1:

Se verá más información, con ejemplos, en el capítulo 'Modos de arrancar el T1 (http://www.lectoreselectronicos.com/showthread.php?11601-An%E1lisis-y-disertaciones-t%E9cnicas-sobre-Android-SDK-y-Linux&p=146516&viewfull=1#post146516)'...

j0534ng31
25/01/2012, 18:21
Redes ad-hoc en el T1 - JoikuSpot: Agradecimientos a androidtablethacks.com (http://androidtablethacks.com/android-tablet-hacks/how-to-enable-adhoc-wifi-on-android-tablets)


Algunas aplicaciones de hotspot para móviles (como el JoikuSpot para Nokia) crean redes ad-hoc que nuestro T1 es incapaz de ver en la lista de redes disponibles.

Para lograr verlas, hay que modificar levemente el sistema siguiendo estos pasos:

Poner el T1 en 'modo depuración USB'
(En 'Configuración -> Aplicaciones -> Desarrollo')


Descargar y descomprimir el archivo 'adhoctablets.zip' en la carpeta 'c:\adhoctablets'
Descargar adhoctablets.zip: aquí (http://dl.dropbox.com/u/7404971/PRS-T1/Hilo/adhoctablets.zip) o aquí (http://downloadandroidrom.com/download/AndroidTabletHacks/AdhocWiFi/adhoctablets.zip?token=116274768)


Copiar el archivo 'wpa_supplicant' a la raíz de la unidad 'READER'
(Conectándolo en 'modo transferencia de archivos')


Aunque se incluyen varios clientes ADB en el archivo 'adhoctablets.zip', el uso de ADB no es imprescindible.

Podemos usar telnet, ssh o el terminal del T1 para introducir:


:: Cambiar a modo administrador (superusuario)
su

:: Remontar 'system' en modo lectura/escritura
busybox mount -o rw,remount /dev/block/mmcblk2p10 /system

:: Copiar el archivo original de 'system' a 'READER'
busybox cp /system/bin/wpa_supplicant /sdcard/wpa_supplicant.original

:: Renombrar el archivo nuevo (modificado) en 'READER'
busybox mv /sdcard/wpa_supplicant /sdcard/wpa_supplicant.modificada

:: Copiar el archivo nuevo de 'READER' a 'system'
busybox cp /sdcard/wpa_supplicant.modificada /system/bin/wpa_supplicant

:: Dar permisos de ejecución al archivo nuevo
busybox chmod 755 /system/bin/wpa_supplicant

:: Cambiar los permisos de la configuración de redes
busybox chown system.wifi /data/misc/wifi/wpa_supplicant.conf

:: Escribir lo que pueda estar pendiente, en cache, al disco
busybox sync

:: Reiniciar el T1
reboot


Y, si algo va mal o queremos volver a usar el sistema sin modificar, ejecutaríamos:


:: Cambiar a modo administrador (superusuario)
su

:: Remontar 'system' en modo lectura/escritura
busybox mount -o rw,remount /dev/block/mmcblk2p10 /system

:: Copiar el archivo original de 'READER' a 'system'
busybox cp /sdcard/wpa_supplicant.original /system/bin/wpa_supplicant

:: Dar permisos de ejecución al archivo nuevo
busybox chmod 755 /system/bin/wpa_supplicant

:: Escribir lo que pueda estar pendiente, en cache, al disco
busybox sync

:: Reiniciar el T1
reboot


Si, en cambio, podemos o queremos utilizar el ADB...

Asegurándonos de NO estar en 'modo transferencia de archivos', haríamos:


:: Remontar todos los discos en modo lectura/escritura
adb remount

:: Copiar el archivo original de 'system' a 'READER'
adb shell "busybox install -D /system/bin/wpa_supplicant /sdcard/wpa_supplicant.original"

:: Copiar el archivo nuevo del PC a 'READER' (para conservarlo)
adb push c:\adhoctablets\wpa_supplicant /sdcard/wpa_supplicant.modificada

:: Copiar el archivo nuevo de 'READER' a 'system'
:: y asignar permisos de ejecución y propietario adecuados
adb shell "busybox install -c -o 0 -g 2000 -m 755 /sdcard/wpa_supplicant.modificada /system/bin/wpa_supplicant"

:: Cambiar los permisos de la configuración de redes
adb shell "busybox chown system.wifi /data/misc/wifi/wpa_supplicant.conf"

:: Escribir lo que pueda estar pendiente, en cache, al disco
adb shell "busybox sync"

:: Reiniciar el T1
adb reboot


Y, para volver a usar el sistema sin modificar, los comandos serían:


:: Remontar todos los discos en modo lectura/escritura
adb remount

:: Copiar el archivo original de 'READER' a 'system'
:: y asignar permisos de ejecución y propietario adecuados
adb shell "busybox install -c -o 0 -g 2000 -m 755 /sdcard/wpa_supplicant.original /system/bin/wpa_supplicant"

:: Escribir lo que pueda estar pendiente, en cache, al disco
adb shell "busybox sync"

:: Reiniciar el T1
adb reboot



Si ahora vamos a 'buscar redes disponibles' ya podremos ver las redes ad-hoc.

katxan
25/01/2012, 20:20
Pedazo de curro que te estás tomando ^:)^. Yo no entiendo nada de estas cosas, pero si necesitas ayuda para organizar todo esto o lo que sea, no tienes más que decirlo.

j0534ng31
26/01/2012, 04:18
Pedazo de curro que te estás tomando ^:)^. Yo no entiendo nada de estas cosas, pero si necesitas ayuda para organizar todo esto o lo que sea, no tienes más que decirlo.

Pues, la verdad, yo de foros no entiendo mucho... He participado en muchos, pero sólo una vez abrí un hilo (para un tema de una ROM, algo mucho menos ambicioso y menos farragoso)...

A mi se me ocurrió que con el índice y un post por cada "tema" podría organizar esto casi como si fuese un sistema de micro-fichas... pero no sé si será practico. [-o<

Si crees que hay un modo mejor, sólo tienes que decirlo... Estoy abierto a sugerencias. ;)

Por otra parte, cuando busco información (de la de verdad, no la misma noticia o dato banal repetido en 20.000 sitios) sobre estos temas, especialmente en español, nunca encuentro nada grande y serio... Así que me dije: "¡hazlo tú mismo!..." y en ello estamos.

Y ahora hablo para todos: ¡Quiero críticas! >:)

Si no las recibo pensaré que no lo leéis, que no os importa, que no entendéis un carajo (lo que viola la declaración de intenciones), que aún no he acertado con un tema útil,... ::pum::

Lo que no voy a pensar es que yo sea tan, tan, tan, tan bueno :-\" , que lo estéis entendiendo todo todos... :o

dark_hunter
26/01/2012, 12:11
Yo me lo reservo para después de exámenes que por ahora voy servido de cosas para leer xD.


Saludos

jotam
02/03/2012, 12:29
¡Hola! Te lo podía decir por un mp, pero bueno, revitalizar este hilo, que debería estar fijado en el apartado de rooteo. Por lo menos me serviría para localizarlo de forma rápida.
Varias cosas:


Con respecto al tema de ad-hoc, en vez de poner todo ese código, encuentro que se podría hacer de forma más sencilla, poniendo el archivo 'wpa_supplicant' en un rooteo. De esa forma, para mi es más rápido, y supongo que tb. lo será para otros. Funcionar funciona pero no sé si necesitaría algún código añadido.



Supongo que conoces el funcionamiento del fichero hosts, para las dns locales. Bueno pues en Android al parecer ese fichero se coloca en '/system/etc/host'. Vale, pues le quería poner los de este (http://msmvps.com/blogs/hostsnews) sitio, pero no consigo que me funcionen. Por si conoces algo más sobre el tema.



Y me gustaría saber si sería posible montar las particiones data y system en linux, retocarlas con los ficheros que se deseen; una vez hechas generar unos archivos de imagen, y con esos archivos, restaurar el T1 para así tener la configuración deseada, sin rooteos posteriores, y sin ficheros basura, como el LiveWallpaper y similares y con los añadidos que se deseen.
O por el contrario las particiones tienen un tamaño x que está definido en algún sitio (fs.. x, etc.) y eso no funcionaría de ninguna manera.



Con respecto al último de Rupor, he visto que añaden en varios ejecutables, a nivel de su: busybox (actualizado), fix_permissions, capturescr y uno que se llama dexopt-wrapper que no sé para que sirve. Pensaba que sería para generar de un apk el archivo odex, pero no lo sé. ¿Sabes para qué sirve?
Tampoco entiendo bien para que sirve lo de poner el odex. Leí, pero no sé si es correcto, que el odex, no es más que el archivo classes.dex que se encuentra en un archivo apk; se extrae del apk, y se coloca con el mismo nombre y extensión odex. Y tendría su lógica "out dex" -> odex. Pero quizá sean milongas mías. Así el archivo apk es más pequeño, ya que esa parte se quitaría. Pero no entiendo el motivo aunque así sea, ni si dexopt-wrapper ayuda, ni cómo, a llevarlo a cabo.
Y en cuanto al capturador, ¿sería posible llamarlo (invocarlo) con una configuración básica (por ejemplo en 10 segundos, estés donde estés, saco captura) desde una aplicación con entorno gráfico? Quizá ya esté hecho, pero si no, quizá sería un buen añadido para el rootset de Rupor u otros como el de Morkl.

Bueno, saludos otra vez. Que ya hacía un tiempo.

Terisa
02/03/2012, 12:39
Hala, el señorito ya sabe dónde encontrarlo ;)

jotam
02/03/2012, 13:04
Hala, el señorito ya sabe dónde encontrarlo ;)

Gracias, señorita;).

La verdad es que me he quedao un poco traspuesto., no sabía ni dónde me encontraba. O si había pasado algo.
Estaba editando el comentario, y ¡pluf! Pasó algo. ¿Qué? ¿Cómo?

Para otra vez ¿debería pedirlo educadamente por mp en vez de hacer comentarios insidiosos sin insidia implícita?:p

No tenía intención de ofender.

Pero ya que estamos, a mi parecer no estaría mal cambiar tb. el de Aplicaciones, y Coolreader traducido, ya que sólo sirven para el T1, si éste está rooteado, o en todo caso personalizado.

Y mejor que "Rooteo", aunque no esté nada mal, sería poner "Rooteo y personalización" o algo así. Por ejemplo en mobileread distinguen "Sony Reader Dev Corner". Aunque no me parece nada mal dejarlo como está. Escueto y sencillo.
También había que pasar otros hilos, como:
"MORKL alternativa a RUPOR,.fb2 en el Home del Sony, 3ª pagina, control refresco.. (http://www.lectoreselectronicos.com/showthread.php?11695-MORKL-alternativa-a-RUPOR-fb2-en-el-Home-del-Sony-3%AA-pagina-control-refresco)"
"Ver EBOOK's en formato .FB2 y .FB2.ZIP en el HOME del Sony Prst-1 (http://www.lectoreselectronicos.com/showthread.php?11536-Ver-EBOOK-s-en-formato-FB2-y-FB2-ZIP-en-el-HOME-del-Sony-Prst-1)"
Y supongo que otros.

Y en el general del T1, fijar el de "Fundas Sony PRS-T1 (http://www.lectoreselectronicos.com/showthread.php?10758-Fundas-Sony-PRS-T1)". Ya que es un tema recurrente.

En todo caso es mi parecer. No te lo tomes a mal. No te estoy haciendo una crítica porque moderes mal, ni nada por estilo. Y si he molestado, te pido perdón. Si es que eso sirve para algo.

Sólo que lo veía un poco extraño. Y que me perdone j0534ng31 por ensuciar su hilo con estas cosas que no tienen que ver con el tema.

Terisa
02/03/2012, 13:17
No era una crítica hombre, era un trozondeo, pero me explico como un libro cerrado :( Además me ha servido para aprender cómo mover un tema en el tapatalk :D El resto de las cosas se harán.... O no, ya se verá;)

j0534ng31
03/03/2012, 17:10
¡Hola! Te lo podía decir por un mp, pero bueno, revitalizar este hilo, ...
Debería revitalizarlo yo, pero esta temporada se me han complicado un poco las cosas. :-s



Con respecto al tema de ad-hoc, en vez de poner todo ese código, encuentro que se podría hacer de forma más sencilla, poniendo el archivo 'wpa_supplicant' en un rooteo. De esa forma, para mi es más rápido, y supongo que tb. lo será para otros. Funcionar funciona pero no sé si necesitaría algún código añadido.
Si, por supuesto que se puede y es más fácil, tendrías que:

- Poner en /system/bin el nuevo ejecutable wpa_supplicant,

- Darle los permisos de ejecución, y

- Cambiar los permisos/propietario del archivo del configuración de 'wpa_supplicant'

Aún no he acabado, pero casi, mi paquete de 'rooteo y modificaciónes' (muchas)... ahí podrás ver todo el código.

La diferencia de este rooteo con los actuales, es que todo se hace desde un batch de windows, sin reiniciar el T1 hasta el final. Tendrá un menú para seleccionar lo que quieras hacerle al T1 y un procedimiento automático para hacer un 'rooteo habitual' sin zarandajas raras (de esas que, en principio, sólo nos interesan a cuatro gatos)

Estoy intentando ahora añadir la modificación de tamaño de las particiones y ya tengo hecho, pero sin añadir, el código que hace y restaura copias de seguridad de las particiones originales...

Pero hace muchas más cosas como, por ejemplo, descargar varias listas de hosts, y unificarlas en un archivo hosts actualizado (ese por el que me preguntas... ;) )



Supongo que conoces el funcionamiento del fichero hosts, para las dns locales. Bueno pues en Android al parecer ese fichero se coloca en '/system/etc/host'. Vale, pues le quería poner los de este (http://msmvps.com/blogs/hostsnews) sitio, pero no consigo que me funcionen. Por si conoces algo más sobre el tema.
Ya te he contestado, pero añado un detalle: El archivo es '/system/etc/hosts'

Puede que no te funcione sólo por eso.



Y me gustaría saber si sería posible montar las particiones data y system en linux, retocarlas con los ficheros que se deseen; una vez hechas generar unos archivos de imagen, y con esos archivos, restaurar el T1 para así tener la configuración deseada, sin rooteos posteriores, y sin ficheros basura, como el LiveWallpaper y similares y con los añadidos que se deseen.
Si, se puede, pero yo lo haría en el propio T1:

1- Creas la imagen con 'dd' y la montas en un directorio nuevo

2- La modificas como te apetezca (si lo hicieses en un linux, "creo" que tendrías problemas para cambiar permisos al añadir archivos, ya que los 'usuarios' y 'grupos' de tu linux no se corresponden con los del T1)

3- Desmontas la imagen y la guardas en tu PC

4- (OPCIONAL) Modificas el 'SD recue' de Boroda para eliminar SUS imágenes de 'system' y 'data' y, en su lugar, poner las TUYAS.



O por el contrario las particiones tienen un tamaño x que está definido en algún sitio (fs.. x, etc.) y eso no funcionaría de ninguna manera.
Funcionaría. Creo que te lías mezclando conceptos diferentes:

- Las "particiones" (/sys/block/mmcblk2**) SI tienen un tamaño fijo definido 'en alguna parte' y, ALGUNAS (todas excepto p1 y p2), SI se pueden variar de tamaño... (por ejemplo, usando 'fdisk' o 'parted')
Pero no es obvio (no vale cualquier tamaño ni, tampoco, cualquier posición), es peligroso, hay que seguir unas reglas y puede que haya que deshacer el proceso antes de hacer una actualización de firmware oficial...
O sea, que no es recomendable para un usuario normal y, preferiblemente, se hará usando un procedimiento automático que impida 'errores tontos' y 'errores por pasarse de listo'.

- Los "sistemas de ficheros" (el 'formato', o 'formateo', como 'fat32' o 'ext4') TAMBIÉN tienen un tamaño (y otras cosas) definido para la partición (o particiones) en la/s que residen...
Sin embargo, su tamaño se puede variar más fácilmente que el de las particiones.
Si, a modo de ejemplo, haces una imagen de una 'partición' con 'dd', podrías variar el tamaño del 'sistema de ficheros' usando 'resize2fs'... Eso sí, el archivo 'img' mantendría su tamaño original (porque la partición no habría variado de tamaño)

- Y, por último, el caso de copiar una 'partición' con 'dd', montarla y añadir o borrar archivos:
Pues eso... que borras archivos o los añades (¡si caben!)...
NO varía el tamaño del 'sistema de ficheros'
NO varía el tamaño de la 'partición'

- Usando un símil comprensible, tonto y técnicamente nada acertado:
Un 'disco' (continente) se divide, para organizarlo mejor, en una o mas 'particiones' (cajones) que llevan asociado un 'sistema de ficheros' (forma del cajón), más o menos adaptado a los ficheros (objetos) que va a almacenar (contenido).



Con respecto al último de Rupor, he visto que añaden en varios ejecutables, a nivel de su: busybox (actualizado), fix_permissions, capturescr y uno que se llama dexopt-wrapper que no sé para que sirve. Pensaba que sería para generar de un apk el archivo odex, pero no lo sé. ¿Sabes para qué sirve?
Si, para eso... y el odex es, en parte, una optimización del código de la aplicación que ayuda a que el T1 la ejecute más rápido



Tampoco entiendo bien para que sirve lo de poner el odex. Leí, pero no sé si es correcto, que el odex, no es más que el archivo classes.dex que se encuentra en un archivo apk; se extrae del apk, y se coloca con el mismo nombre y extensión odex. Y tendría su lógica "out dex" -> odex. Pero quizá sean milongas mías. Así el archivo apk es más pequeño, ya que esa parte se quitaría. Pero no entiendo el motivo aunque así sea, ni si dexopt-wrapper ayuda, ni cómo, a llevarlo a cabo.
Si la aplicación es más pequeña y lleva asociado un odex:

- Al arrancar el T1 se lee el odex

- El sistema ocupa más, o sea, que hay menos hueco para modificaciones de los desarrolladores.

- Modificar las aplicaciones cuesta un h**v* de trabajo más (entre comillas).

Si la aplicación es más grande (con classes.dex dentro del apk) y no existe el odex:

- Al arrancar el T1 se construye el 'odex' (la máquina dalvik procesa el apk y genera un dex en dalvik-cache)

- El T1 (al hacer lo anterior para cada aplicación) tarda un h**v* en arrancar.

- Modificar las aplicaciones es una chorrada.



Y en cuanto al capturador, ¿sería posible llamarlo (invocarlo) con una configuración básica (por ejemplo en 10 segundos, estés donde estés, saco captura) desde una aplicación con entorno gráfico? Quizá ya esté hecho, pero si no, quizá sería un buen añadido para el rootset de Rupor u otros como el de Morkl.
Se invoca con una sola llamada desde el terminal y crea un archivo jpg...

Sólo hace falta algo que lo pase al PC...

Rupor usa un script desde Windows que se basa en adb para pasar la imagen al PC:


@echo off
SET ADK="C:\Program Files (x86)\Android\android-sdk"
SET RES=/data/local/tmp/screen.png
IF .%1. == .-1. GOTO PARAM
IF .%1. == .. GOTO CONT
SET RES=%1
SET PARAM=%2
GOTO CONT
:PARAM
SET PARAM=%1
:CONT
%ADK%\platform-tools\adb shell /system/bin/capturescr %PARAM% %RES%
%ADK%\platform-tools\adb pull %RES%
%ADK%\platform-tools\adb shell rm %RES%

jotam
05/03/2012, 16:09
Lo de revitalizarlo era independiente a que hicieras más o menos. Lo que hay, tiene un gran valor en sí mismo. Sirve y no hay tanta documentación al respecto, o no en castellano al menos.


Como te dije, lo del wpa_supplicant, me funcionaba, y encuentro interesante incluirlo en el futuro.

Me alegro que sigas en la brecha, pese a que estés más liado.

En cuanto al hosts, no fallé en eso de cambiar el nombre de archivo, pero probaba alguno de los enlaces bloqueados, y en vez de salirme un error de página no encontrada, me salía la página en sí. Por lo que llegué a la conclusión de que no funcionaba bien lo del hosts.
Y llegué a pensar que quizá no hubiera que poner 127.0.0.1 como localhost, sino 127.0.0.2 como vi en algunas webs. Pero eso aún no lo he probado.

Gracias tb por el comentario de las particiones. No me veo creando esos output con dd. No me manejo bien. Y no estoy seguro de lo que hago. Salvo para mis propisa pruebas. Pero si es posible, no entiendo cómo todavía nadie halla sacado ningún restore set (data y system) rooteado que sirva como alternativa a una restauración de particiones.

Lo de los odex, está muy bien. Osea, que sirven para evitar procesos que serían repetitivos. Ahora bien, si haces un rooteo, tb. se deberían crear los odex de esas aplicaciones añadidas, por ejemplo, superuser o PackageInstaller. Y si añades ivona (por ejemplo junto al PicoTTS en system) pues tb. podrías poner los odex. Y así con todo lo que pongas en system. Pero por ejemplo Rupor, no lo hace.
Y si se hiciera con las aplicaciones de data, ¿funcionarían igual?
He probado a generar el odex de ivona, y parece que lo genera.
Después está el tema de los nombres: ¿si al apk lo llamo RootExplorer2.19.apk, el odex resultante tendría que ser RootExplorer2.19.odex, pese a que su nombre real a la hora de instalar o crear datos sea otro? Quiero decir mismo nombre y lo que cambia es la extensión y a funcionar ¿es correcto?
Y como broche final, ¿se tendría que eliminar del apk el archivo classes.dex con 7zip, por ejemplo? Entiendo que es eso.

Lo del capture no me refería a cómo se hacía o cómo lo hacía Rupor, sino si desde una aplicación como la de configuración del Sony, se podría llamar a una función para que en 10 segundos hiciera una captura. Desde el gestor gráfico, generar captura. Me parecía una idea buena.

Tb. he estado pensando en si es posible eliminar otras aplicaciones que no le veo sentido dentro de system. Algunas que no elimina Rupor. Por ejemplo:
Bluetooth, Phone, QuickSearchBox o TelephonyProvider.
Por el momento he eliminado Buetooth apk+odex. Y no parece haber problemas. Creo que el widget de búsqueda de google, tampoco tiene demasiada importancia en el T1. Y quizá siga el mismo camino.
Los otros no sé qué hacer, porque desconozco completamente qué dependencias podrían romper.

Y por último, decir que en la última de Rupor, en la carpeta bin, he visto que ha añadido "sqlite3". Por el momento no lo he puesto, ni he visto para qué se puede usar (sólo entiendo que debe ser para gestionar bases de datos).

Ya veré que voy viendo...

j0534ng31
06/03/2012, 11:49
JeJe... Siempre me lías a una explicación laaaarga... Que sepas que me caes muy bien, eres muy curioso y eso me gusta ;)

Un día de estos acabaré el puñetero rooteo y, como el código está explicado, creo que vas a ser de los pocos que lo lean entero.



Como te dije, lo del wpa_supplicant, me funcionaba, y encuentro interesante incluirlo en el futuro.
Sip... mi rooteo también lo hace por defecto. No hace más que mejorar el original y no produce ningún efecto adverso.



En cuanto al hosts, no fallé en eso de cambiar el nombre de archivo, pero probaba alguno de los enlaces bloqueados, y en vez de salirme un error de página no encontrada, me salía la página en sí. Por lo que llegué a la conclusión de que no funcionaba bien lo del hosts.
Y llegué a pensar que quizá no hubiera que poner 127.0.0.1 como localhost, sino 127.0.0.2 como vi en algunas webs. Pero eso aún no lo he probado.
Lo normal es que si hay un archivo hosts el sistema lo lea y se atenga a él, pero no lo he comprobado... Yo sólo preparé un script que lo crea y lo actualiza... Quizás tengas razón y no funcione aunque esté ahí. Y 127.0.0.1 es correcta.



Gracias tb por el comentario de las particiones. No me veo creando esos output con dd. No me manejo bien. Y no estoy seguro de lo que hago. Salvo para mis propisa pruebas. Pero si es posible, no entiendo cómo todavía nadie halla sacado ningún restore set (data y system) rooteado que sirva como alternativa a una restauración de particiones.
Pues me imagino por qué... ¿No has leido a Boroda (varias veces) decir que NO es SU firmware? Por ejemplo, aquí (http://www.the-ebook.org/forum/viewtopic.php?p=872639#872639)... Todos temen una reacción agresiva por parte de Sony...

Una cosa es un paquete de rooteo (que sólo lleva cosas, por poner un ejemplo, mías)... Es legal y aceptable.

Otra cosa es hacer una herramienta de restauración (que sólo lleva cosas de Sony que son de "dominio público", como el firmware original del T1)... Probablemente no es legal, pero también es aceptable.

Otra distinta es hacer la misma herramienta de restauración con imágenes del firmware actual (que Sony distribuye sólo a sus clientes y bajo determinadas condiciones de uso... Boroda no lo hace, pero Amutin se atreve)... No es legal y si a Sony no le hace gracia, te buscará las cosquillas.

No se si me estoy explicando bien... lo que pides está ahí (nos lo facilitó Boroda) para que cualquiera con unos pocos conocimientos lo haga realidad para su uso privado... Pero nadie se atreve a excederse publicándolo, por si acaso.

De hecho, ya lo he dicho al principio del hilo, todos DEBERÍAMOS hacer una copia de seguridad de NUESTRO T1... ¿Por qué? Para hacernos nuestro 'rooteo', nuestro 'recovery', nuestro 'restore' y nuestras 'mods'... con la información original de nuestros T1, bajo nuestra responsabilidad y ateniéndonos (o desoyendo) las leyes de nuestros respectivos paises. La nuestra es bastante tolerante, la de Boroda menos...

Las aplicaciones, en cambio, son harina de otro costal... Rupor y otra gente se atreven modificarlas porque su código fuente (al basarse en Android) es, o debería de ser, open source... Si las modifican (por ingeniería inversa) y alguien se queja sólo hay que contestar "¿Y donde está el código fuente que nos debéis? ¿No cumplís vuestra propia licencia y os atrevéis a criticarnos? Llévalo a un juez, ¡a ver quién pierde más!"



Ahora bien, si haces un rooteo, tb. se deberían crear los odex de esas aplicaciones añadidas, por ejemplo, superuser o PackageInstaller. Y si añades ivona (por ejemplo junto al PicoTTS en system) pues tb. podrías poner los odex. Y así con todo lo que pongas en system. Pero por ejemplo Rupor, no lo hace.
Realmente no sé si lo hace o no, pero se puede hacer... Mantener mi versión de firmware me impide comprobarlo.

Eso sí, recuerda que la partición system es de sólo lectura, hay que remontarla en modo rw... si no lo haces (tu directamente o desde un script), los odex no se podrán guardar en system.

El proceso a seguir para deodexar cada aplicación (asumiendo que el framework ya está deodexado previamente) sería:


#
# Se copia la aplicación en un directorio temporal del T1 (para no estropear el original)
mkdir DirectorioTemporal
cp DirectorioOrigen/Nombre_App.apk DirectorioTemporal
#
# Se deodexa
dexopt-wrapper DirectorioTemporal/Nombre_App.apk DirectorioTemporal/Nombre_App.odex
#
# Se borra 'classes.dex' del archivo 'apk' (paso OPCIONAL, pero imprescindible por falta de espacio)
# Si lo hacemos, la aplicación ya NO podrá actualizarse (habrá que desinstalar la vieja y reinstalar la nueva)
zip -d DirectorioTemporal/Nombre_App.apk classes.dex
#
# Se INSTALA la aplicación en system:
cp DirectorioTemporal/Nombre_App.* /system/app


En data creo que también podría hacerse, pero de un modo más complicado (además de dificultar las actualizaciones):


#
# Se INSTALA el 'apk' original (para que se coloquen en su sitio las librerías y los datos)
pm install DirectorioOrigen/Nombre_App.apk
#
# Se borra el archivo recien instalado (OPCIONAL, si no, lo pisaremos más tarde con la versión deodexada)
rm /data/app/Nombre_App.apk
#
# Se copia la aplicación en un directorio temporal del T1 (para no estropear el original)
mkdir DirectorioTemporal
cp DirectorioOrigen/Nombre_App.apk DirectorioTemporal
#
# Se deodexa
dexopt-wrapper DirectorioTemporal/Nombre_App.apk DirectorioTemporal/Nombre_App.odex
#
# Se borra 'classes.dex' del archivo 'apk' (paso OPCIONAL)
# Si lo hacemos, la aplicación ya NO podrá actualizarse (habrá que desinstalar la vieja y reinstalar la nueva)
zip -d DirectorioTemporal/Nombre_App.apk classes.dex
#
# Aquí tengo una duda: Si hacemos el paso anterior, es posible que debamos refirmar la aplicación
# (Y si no disponemos de la firma original, no funcionará... porque la instalamos con la firma original)
# Aunque creo que no hace falta...
#
# Se COPIA la aplicación deodexada en data:
cp DirectorioTemporal/Nombre_App.* /data/app


Por último, tras instalarlas todas, no estaría de más ejecutar el fix_permissions (por si acaso).

Y respecto a esto último: Rupor dice usar un fix-permissions muy reciente... yo creo que está equivocado... el que yo uso (sacado de CyanogenMOD (Gracias, Cyanogen ;) ) es varias versiones más moderno, admite reparar system, admite deshabilitar el log (para ganar velocidad) y, tras una pequeña modificación, también repara las app de la partición linux de la tarjeta externa (la que usa Link2SD)

Hacer esto automáticamente con un paquete de rooteo no es posible. Deberías ejecutar un script en el primer arranque que lo hiciera todo... O, más fácil, deodexar todo previamente en tu T1 y meter luego las aplicaciones deodexadas en tu nuevo paquete de rooteo



Y si se hiciera con las aplicaciones de data, ¿funcionarían igual?
He probado a generar el odex de ivona, y parece que lo genera.
Lo dicho... creo que sí. Pero no lo sabrás a ciencia cierta si no borras el 'classes.dex' (si, tras borrarlo y reiniciar, IVONA aun funciona... es que si sirve para las aplicaciones de data)



Después está el tema de los nombres: ¿si al apk lo llamo RootExplorer2.19.apk, el odex resultante tendría que ser RootExplorer2.19.odex, pese a que su nombre real a la hora de instalar o crear datos sea otro? Quiero decir mismo nombre y lo que cambia es la extensión y a funcionar ¿es correcto?
Sip... El nombre del 'apk' que coloques en el T1 ha de ser el mismo que el de su 'odex' correspondiente.

Si intentas hacer lo de data, tendrás que buscar el nombre con el que ha sido efectivamente instalada la aplicación (no tiene porque conservar el que tu hayas puesto: Si lo considera una actualización suele añadir un guión y un número de versión.)



Y como broche final, ¿se tendría que eliminar del apk el archivo classes.dex con 7zip, por ejemplo? Entiendo que es eso.
Es realmente para que la aplicación ocupe menos (porque el nuevo apk sin classes.dex junto con el odex ya ocupan más que el apk original... y no sobra sitio). Pero ya sabes, la aplicación deja de ser actualizable.



Lo del capture no me refería a cómo se hacía o cómo lo hacía Rupor, sino si desde una aplicación como la de configuración del Sony, se podría llamar a una función para que en 10 segundos hiciera una captura. Desde el gestor gráfico, generar captura. Me parecía una idea buena.
Si, eso tal vez se podría hacer, pero me parece más complicado.

Se diseño para poder hacer capturas para desarrollo (usando adb), porque en nuestro T1 no funciona directamente el método estandar de Android.

Eso quiere decir que esa aplicación sólo interesa a los usuarios del T1. De hecho, sólo a los que no quieren usar adb (lo que excluye a todos los desarrolladores) y, por tanto, es muy improbable que alguien la desarrolle.



Tb. he estado pensando en si es posible eliminar otras aplicaciones que no le veo sentido dentro de system. Algunas que no elimina Rupor. Por ejemplo:
Bluetooth, Phone, QuickSearchBox o TelephonyProvider.
Por el momento he eliminado Buetooth apk+odex. Y no parece haber problemas. Creo que el widget de búsqueda de google, tampoco tiene demasiada importancia en el T1. Y quizá siga el mismo camino.
Los otros no sé qué hacer, porque desconozco completamente qué dependencias podrían romper.
En general, salvo las dos de telefonía, no tendrían que dar problemas.

En mi rooteo yo borro varias (incluidas las de telefonía):

EbookDemoService
EbookDemo
LiveWallpapersPicker
LiveWallpapers
MagicSmokeWallpapers
VisualizationWallpapers
Bluetooth
Phone
TelephonyProvider


Pero no basta con borrar los archivos...

Se deberían desinstalar correctamente con "pm uninstall" (desde un rooteo no puedes) y/o borrar toda referencia a esas aplicaciones del archivo '/data/system/packages.xml'
Hay que borrar los datos almacenados en la subcarpeta de '/data/data' correspondiente a la aplicación.
Y además, en algunas aplicaciones, hay que borrar de '/system/etc' la configuración remanente (es el caso de 'bluetooth', por ejemplo)





Y por último, decir que en la última de Rupor, en la carpeta bin, he visto que ha añadido "sqlite3". Por el momento no lo he puesto, ni he visto para qué se puede usar (sólo entiendo que debe ser para gestionar bases de datos).
Para eso sirve... Imagino que lo use para poder regenerar las listas de libros en el home (pero no lo se)

Yo, en mi rooteo, lo uso para optimizar las bases de datos que el T1 ha ido almacenando (porque yo no asumo que el rooteo se aplica 'en vacío', inmediatamente tras un restore)


Saludos :\')

j0534ng31
07/03/2012, 10:30
Jotam,

Ya creo saber para que es útil el 'sqlite3'... Permite cambiar la configuración de Android desde "fuera", como el 'regedit' de Windows...
Ahora, por tu culpa ;), tendré que investigar más.

Fíjate, esto (que se puede usar en un paquete de rooteo) serviría para registrar Y ACTIVAR el teclado chino en el sistema:


SQLITE="/system/bin/sqlite3"
BaseDatos="/data/data/com.android.provider.settings/databases/settings.db"

Chino="'com.sohu.inputmethod.sogou/.SogouIME'"
Metodos="'enabled_input_methods' 'default_input_method'"

if [ -f ${SQLITE} ]; then
chmod 777 ${SQLITE}

for M in $Metodos; do
Comando="update secure set value = ${Chino} where name = ${M};"
echo ${Comando} | ${SQLITE} ${BaseDatos}
done

fi


Lo mismo de otra forma, quizás menos liosa para tí y ya preparada para insertar en un rooteo:


if [ -f ${SYSTEM}/bin/sqlite3 ]
then
chmod 777 ${SYSTEM}/bin/sqlite3
echo "update secure set value = 'com.sohu.inputmethod.sogou/.SogouIME' where name = 'enabled_input_methods';" | ${SYSTEM}/bin/sqlite3 ${DATA}/data/com.android.provider.settings/databases/settings.db
echo "update secure set value = 'com.sohu.inputmethod.sogou/.SogouIME' where name = 'default_input_method';" | ${SYSTEM}/bin/sqlite3 ${DATA}/data/com.android.provider.settings/databases/settings.db
fi

Se asume que tu rooteo ha copiado al T1 previamente el 'sqlite3' y el teclado 'sogou ime'

jotam
07/03/2012, 13:10
No es que me parezca mal. Me da a entender que tiene sentido, pero pese a que lo veo y le doy vueltas no veo lo que quieres decir, porque desde luego el teclado chino no es lo que estaba esperando con ansiedad.:p
Supongo que ese método es aplicable a otras configuraciones, pero nos soy tan listo. no lo pillo. Si hay un mensaje oculto, se me escapa.
Supongo que al hacer el rooteo, en el script se podrían hacer modificaciones de sistema como activar las fuentes externas de aplicaciones, o el modo de desarrollo. Para que el usuario no tenga que hacer nada. Y si eres malo hasta cosas malas.

j0534ng31
07/03/2012, 14:32
No es que me parezca mal. Me da a entender que tiene sentido, pero pese a que lo veo y le doy vueltas no veo lo que quieres decir, porque desde luego el teclado chino no es lo que estaba esperando con ansiedad.:p
Supongo que ese método es aplicable a otras configuraciones, pero nos soy tan listo. no lo pillo. Si hay un mensaje oculto, se me escapa.
Supongo que al hacer el rooteo, en el script se podrían hacer modificaciones de sistema como activar las fuentes externas de aplicaciones, o el modo de desarrollo. Para que el usuario no tenga que hacer nada. Y si eres malo hasta cosas malas.

No, no hay mensaje oculto...

A los que usamos alfabeto occidental no nos interesa esta modificación concreta, pero los que usan alfabetos orientales, cirílicos, árabes o sanscritos seguro que lo agradecen (y son muchos, muchos, muchos más que nosotros) ;)

Esa es la idea, que se puedan cambiar determinadas configuraciones interesantes... a bote pronto, se me ocurre que pueda servir para "activar la ejecución de programas que no son del market" desde el rooteo, o desactivar y activar el "USB debugging" cada vez que arranca el T1 para que funcione adb sin tener que hacerlo a mano,...

Quizás sea una tontería para otros... Yo ya sabía cambiar otras configuraciones, pero algunas se me resistían por desconocimiento del método/herramienta... Ha sido un placer para mí encontrarla y lo compartía con el resto :\')

Cada cual la usará para sus propios fines >:) , por eso te puse como se puede usar desde el pack de rooteo (lo más probable es que yo lo use desde adb, como el primer ejemplo, con el T1 ya "vivo")

jotam
07/03/2012, 16:16
No, no hay mensaje oculto...

¡Uff..! Menos mal. Ya estaba por... ;):p

Bueno ahora sí lo entiendo, y sí apuntas a lo mismo que yo pensaba, lo de cambiar aspectos de la configuración.
Supongo que ya lo habrás comentado en mobileread, porque quizá allí si que les suponga una solución para más de un problema.

j0534ng31
07/03/2012, 20:30
Supongo que ya lo habrás comentado en mobileread, porque quizá allí si que les suponga una solución para más de un problema.

Pues no... Asumí que el ignorante era yo y que allí todos los interesados lo sabrían...

Por cierto, tengo que buscar el post del otro día donde hablábamos de sustituir/añadir tipos de letra sin riesgo.

Ya hay gente de mobileread que han probado mi método y parece que funciona bien. :\')

jotam
07/03/2012, 23:00
Pues no... Asumí que el ignorante era yo y que allí todos los interesados lo sabrían...

Por cierto, tengo que buscar el post del otro día donde hablábamos de sustituir/añadir tipos de letra sin riesgo.

Ya hay gente de mobileread que han probado mi método y parece que funciona bien. :\')

Pues, raro me parece. Puede que se sepa esos procedimientos, pero no creo que sea lo habitual. De todas formas tú sabrás más del tema.
En cuanto al hilo de cambiar las fuentes, no sé si te refieres a éste:
http://www.lectoreselectronicos.com/showthread.php?11539-Cambio-de-fuentes-%28personalizar-las-fuentes%29-del-Sony-Reader
Es de cuando morkl sacó el sistema su v2, así que es viejecito. Bueno quizá ya lo hubieras encontrado.

Otra posible utilidad que se me ha ocurrido para éste sqlite3. Hace tiempo se comentó que si se podrían cambiar los valores para que el lector, pasara a inactividad de los 10 minutos que trae por defecto a otra cantidad mayor, como hacía el Sony PRS-505, que no recuerdo cuánto era, pero alrededor de una hora u hora y media (60-90minutos). Era una converación que contestaba Peto y no recuerdo quién más. Pero era eso ampliar el tiempo que el lector pasa al modo de suspensión.
Si conoces la forma, quizá fuera interesante para tu propio rooteo. O al menos como opción.

ariston
14/04/2012, 21:49
Gracias por esta especie de "wiki" sobre el T1. Dado que ando con un par de T1, uno con la 1.0.03.11140 y otro con la 1.0.04.12210, creo que podría ser interesante probar este (http://www.the-ebook.org/forum/viewtopic.php?t=23354&postdays=0&postorder=asc&start=20) método para hacer la copia de seguridad de ambos por si en un momento dado quiero hacer un downgrade.

¿Alguien ha probado esta forma de hacer la copia de seguridad? ¿Cómo se le podría modificar la MAC para que las copias hechas a distintos dispositivos sean intercambiables? ¿Qué pasaría con el android Device ID?

Aún no tengo una microSD para hacer pruebas, por eso lanzo las preguntitas aquí...

Saludos!

ariston
22/05/2012, 14:17
Por fin he podido hacer las pruebas necesarias con el método de rupor para la copia de seguridad (http://www.the-ebook.org/forum/viewtopic.php?t=23354) y puedo confirmar que funciona a las mil maravillas.

Advertencia: sólo dejo constancia de mi experiencia, por si algún otro quiere tener una copia de la configuración de su lector antes de tocar algo de relevancia. Es posible, como ya ha ocurrido con los procesos de rooteo, que alguien experimente algún problema, del que, lógicamente, no me hago responsable.

De todo el proceso lo único imprescindible es:
- El .7z para entrar en modo rescue y permitir la conexión de rupor.
- Una herramienta para hacer una imagen del Reader, yo he usado el Roadkil que recomienda rupor.

He comprobado que se puede hacer el downgrade de firmware sin ningún inconveniente ya que deja el lector tal cual estaba justo antes de hacer la copia. En mi caso hice:
Imagen de la 1.0.03.11140 + root de boroda.
Actualizé a la 1.0.04.12210.
Apliqué AMR de 20120517 de rupor.
Imagen del lector tras root.
En la misma tacada (sin reset tras la imagen) restauré la 1.0.03.

Con eso el lector funcionaba tal cual lo hacía antes de la actualización. No obstante, he restaurado la imagen con la 1.0.04 para seguir probando las novedades de rupor.

Aunque ya lo comenta rupor, no es necesario tener acceso root para hacer la copia o la restauración. Ya que el lector entra en modo rescue y ejecuta la imagen aún sin tener root.

Saludos!

jotam
22/05/2012, 14:33
Por fin he podido hacer las pruebas necesarias con el método de rupor para la copia de seguridad (http://www.the-ebook.org/forum/viewtopic.php?t=23354) y puedo confirmar que funciona a las mil maravillas.

Advertencia: sólo dejo constancia de mi experiencia, por si algún otro quiere tener una copia de la configuración de su lector antes de tocar algo de relevancia. Es posible, como ya ha ocurrido con los procesos de rooteo, que alguien experimente algún problema, del que, lógicamente, no me hago responsable.

De todo el proceso lo único imprescindible es:
- El .7z para entrar en modo rescue y permitir la conexión de rupor.
- Una herramienta para hacer una imagen del Reader, yo he usado el Roadkil que recomienda rupor.

He comprobado que se puede hacer el downgrade de firmware sin ningún inconveniente ya que deja el lector tal cual estaba justo antes de hacer la copia. En mi caso hice:
Imagen de la 1.0.03.11140 + root de boroda.
Actualizé a la 1.0.04.12210.
Apliqué AMR de 20120517 de rupor.
Imagen del lector tras root.
En la misma tacada (sin reset tras la imagen) restauré la 1.0.03.

Con eso el lector funcionaba tal cual lo hacía antes de la actualización. No obstante, he restaurado la imagen con la 1.0.04 para seguir probando las novedades de rupor.

Aunque ya lo comenta rupor, no es necesario tener acceso root para hacer la copia o la restauración. Ya que el lector entra en modo rescue y ejecuta la imagen aún sin tener root.

Saludos!

Es una noticia maravillosa que lo hallas hecho. Si estás inspirado ¿podrías hacer un nuevo hilo explicando los pasos, archivos necesarios, programas y dónde conseguirlos?
Creo que no es tan difícil como en un principio me había parecido, pero tb. tiene sus cosa.
Bueno, que habiéndolo hecho, tienes las cosas frascas.
Tú mismo.
Gracias por comentarlo.

tachanky
31/05/2012, 12:38
Es una noticia maravillosa que lo hallas hecho. Si estás inspirado ¿podrías hacer un nuevo hilo explicando los pasos, archivos necesarios, programas y dónde conseguirlos?
Creo que no es tan difícil como en un principio me había parecido, pero tb. tiene sus cosa.
Bueno, que habiéndolo hecho, tienes las cosas frascas.
Tú mismo.
Gracias por comentarlo.

Buenas, soy nuevo por aquí, y llevo unos días mirando en el foro, casi perdído entre tanto post. La cuestión que quisiéra plantear, y quizás me equivoque de tema, es la de la copia de seguridad del sistema operativo original. Según he leido, y parece lógico y razonable... antes de cualquier meneo del T1 hacer copia de seguridad. Ahora bien con el firm 1.0.04 parece que no hay herramientas adaptadas, salvo este último post, del que agradecería mayores precisiones, enlaces, etc.
Un saludo

jotam
31/05/2012, 16:42
Buenas, soy nuevo por aquí, y llevo unos días mirando en el foro, casi perdído entre tanto post. La cuestión que quisiéra plantear, y quizás me equivoque de tema, es la de la copia de seguridad del sistema operativo original. Según he leido, y parece lógico y razonable... antes de cualquier meneo del T1 hacer copia de seguridad. Ahora bien con el firm 1.0.04 parece que no hay herramientas adaptadas, salvo este último post, del que agradecería mayores precisiones, enlaces, etc.
Un saludo

Yo también pediría unas instrucciones más detalladas, pero parece que la gente no se anima a darlas, así que nada. La dirección del método de la copia de seguridad de Rupor, lo tienes en éste link del foro ruso:
http://www.the-ebook.org/forum/viewtopic.php?t=23354
Ponlo en el traductor de google, para enterarte un poco mejor (salvo que leas ruso, claro).
Yo todavía no lo he hecho, pero el día que me puse a leerlo, me pareció que no er tan dificil.
Se descarga un paquete como de rooteo y se aplica al lector, y de seguido mediante un programa extándar de copia de seguridad, se hace ésta, con ese programa. A elegir entre dos. No he visto más.
Ariston dice arriba que se puede hacer a lecctores no rooteados.

tachanky
31/05/2012, 19:37
Yo también pediría unas instrucciones más detalladas, pero parece que la gente no se anima a darlas, así que nada. La dirección del método de la copia de seguridad de Rupor, lo tienes en éste link del foro ruso:
http://www.the-ebook.org/forum/viewtopic.php?t=23354
Ponlo en el traductor de google, para enterarte un poco mejor (salvo que leas ruso, claro).
Yo todavía no lo he hecho, pero el día que me puse a leerlo, me pareció que no er tan dificil.
Se descarga un paquete como de rooteo y se aplica al lector, y de seguido mediante un programa extándar de copia de seguridad, se hace ésta, con ese programa. A elegir entre dos. No he visto más.
Ariston dice arriba que se puede hacer a lecctores no rooteados.

Pues me voy a animar con el tema... Entiendo que hay que tener el 20120330 - Rescate, Backup & Restore http://sonyfmngr.sourceforge.net/Releases/rescue/20120330/rupor-rescue.7z Y meterlo en el T1... para hacer visibles las particiones del root... a partir de aquí con cualquier programa que se capaz de crear imágenes de disco y plis plas... Je je..
En fin, probaremos a ver que tal, ya lo comentaré.
Un saludo.