curso de formación en movilidad (parte ii) - personalización

Post on 11-Nov-2014

317 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Curso de formación en Movilidad que consta de tres partes. En esta primera parte del curso se hablará de: ROM's, Becoming root, CyanogenMod y Paranoid Android, además de Monitorización, Batería y Backups

TRANSCRIPT

TecnologíaParte 2

Curso de Formación en MovilidadJulio 2013

1

Qué veremosParte 2

Personalización

ROMsBecoming root

CyanogenMod y Paranoid AndroidMisc

MonitorizaciónBateríaBackups

2

Personalización

3

Terminología

ROM Firmware, imagen del SO

Flashear Instalar el firmware

Rootear Obtener permisos de usuario privilegiado

4

Terminología

Bootloader Programa de arranque del SO

Desbloquear bootloader Permitir instalar firmware no oficial

5

ROM¿Qué es?

Versión de Android modificadaAndroid es un SO móvil de propósito generalLas versiones modificadas buscan

• Explotar al máximo las capacidades de dispositivos

• Mejorar versiones oficiales

• Personalizar el terminal

6

ROMInstalación

Flashear es instalar una ROMDos etapas

1.Modo fastboot para instalar la imagen de recuperacióna.Desbloquear bootloader

2.Modo recovery para instalar la ROM

7

ROMInstalación

fastboot y recovery

Conectar por USBReiniciar dispositivo en modo fastboot$ adb reboot bootloaderInstalar imagen de recuperación$ fastboot flash recovery fichero.imgReiniciar dispositivo en modo recuperación$ fastboot boot fichero.img

8

Kernel

Una ROM es el binario del sistema operativo, incluyendo el kernel compilado

Mismo diseño interno que LinuxEl kernel gestiona el hardwarePodemos actualizar el kernel sin reinstalar el sistema

9

Kitchens

¿Necesito compilar y generar mi propia ROM para personalizar mi dispositivo con Android?Las kitchens parten de una ROM básica que podemos personalizar :

•Pantalla de inicio

•Apps incluídas

•Ajustes varios rendimiento

10

CyanogenMod

ROM que incrementa rendimiento y estabilidadMuy popular por su alto grado de personalizaciónSoporta actualmente +70 dispositivos

11

CyanogenMod

Algunas features:•Revocar permisos de apps•Tethering por USB, WiFi o Bluetooth•Optimizado uso de batería•CPU overclocking

12

Paranoid Android

Permite ubicar y dimensionar tus apps libremente

13

Root

Rootear

•Conseguir permisos de super usuario (root)

•Acceder a funciones protegidas¡Cuidado!Un móvil rooteado puede perder la garantía (según fabricante)

14

Root

Podemos modificar ciertos ajustes sin tener que cambiar de ROM:

• Asignar/Revocar permisos de apps

• Habilitar tethering

• Acceso total al sistema de ficheros

CyanogenMod rootea el dispositivo en el proceso de instalación

15

Root¿Cómo?

El método es muy dispar entre dispositivosBásicamente, se sustituye un programa (su) para ejecutar procesos como super usuario

El original sólo ejecuta sin privilegios

16

Sandboxing

Todas las apps en iOS y Android están sandboxed

Tienen acceso sólo a los recursos que el sistema asigneNo tienen acceso a recursos utilizados por otras apps

Único punto de entrada: app schemas

17

Sandboxing

Disco, memoria, procesos, etc, pertenecen a cada app, y no los comparten¡Atención!Si Android está rooted, cualquier app podría utilizar esos permisos para “hacer el mal”

18

Optimización y Rendimiento

19

Optimización y Rendimiento

“Mejores prácticas”•ROMs optimizadas (uso personal)•Librerías proyecto•Instalar apps “fiables”•Recomendaciones fabricante

20

Optimización y RendimientoDesarrollo

iOS

Xcode 5 Instruments

21

Optimización y RendimientoDesarrollo

Android

Android Debug Monitor

22

Optimización y RendimientoDesarrollo

Android

Little Eye

Por app: consumo de batería, tráfico de red, uso de memoria y CPU...

23

Monitorización

24

MonitorizaciónInfo del dispositivo

iOS

Settings > General > About¿UDID?

25

MonitorizaciónInfo del dispositivo

iOS

Xcode Organizer

26

MonitorizaciónInfo del dispositivo

Android

Settings > About PhoneApps en Google Play (consultan por API info del sistema)

27

MonitorizaciónBatería

iOS

Mediante appsNo hay forma “oficial” de saber el nivel de batería más allá del % global

28

MonitorizaciónBatería

Android

Battery Doctor

Consumo de batería por appEstimación tiempo restante por tipo de usoEstimación tiempo extra desactivando submódulosNotificación iniciar ciclo de carga

29

MonitorizaciónTráfico de red

30

MonitorizaciónLogs

Es necesario•Xcode•Android SDK

31

MonitorizaciónLogs

iOS

Xcode Organizer•Console•Device Logs

32

MonitorizaciónLogs

iOS

Xcode Organizer Console→ Mensajes del sistema

Jul 3 18:32:56 kernel[0] <Debug>: ALS: AppleARMBacklight::handleMessageGated - framebufferState -> 1Jul 3 18:32:56 kernel[0] <Debug>: ALS: AppleARMBacklight::setBacklightEnableGated 1 (set level to 0x392)Jul 3 18:32:56 CLTM[14] <Error>: CLTM: resetting temps: now = 1372869176, last update = 1372869057Jul 3 18:32:57 wifid[15] <Notice>: WiFi:[394561977.656129]: WoW is Enabled, 1 WoW ClientsJul 3 18:32:57 kernel[0] <Debug>: AppleD1881PMUPowerSource: AppleUSBCableDetect 1Jul 3 18:32:57 kernel[0] <Debug>: AppleD1881PMUPowerSource: AppleUSBCableType USBHostJul 3 18:32:58 wifid[15] <Notice>: WiFi:[394561978.160024]: External power source attachedJul 3 18:32:58 lockdownd[52] <Notice>: 3b64918c pairing_host_connected: connectionCount now 3Jul 3 18:32:59 lockdownd[52] <Notice>: 00281000 special_case_get: MGCopyAnswer(kMGQSDIOProductInfo) returned NULLJul 3 18:32:59 lockdownd[52] <Notice>: 00281000 special_case_get: MGCopyAnswer(kMGQSDIOManufacturerTuple) returned NULLJul 3 18:32:59 lockdownd[52] <Notice>: 00281000 special_case_get: MGCopyAnswer(kMGQBasebandBoardSnum) returned NULLJul 3 18:32:59 lockdownd[52] <Notice>: 00281000 special_case_get: MGCopyAnswer(kMGQWirelessBoardSnum) returned NULLJul 3 18:32:59 ptpd[1016] <Error>: ptpd: startResponderJul 3 18:33:00 ptpd[1016] <Notice>: PTP interface has been activated at high speed.Jul 3 18:33:06 Sergis-iPhone profiled[1025] <Notice>: (Note ) profiled: Service starting...Jul 3 18:33:06 Sergis-iPhone kernel[0] <Debug>: 012767.825601 wlan.A[2937] AppleBCMWLANNetManager::updateLinkQualityMetrics(): Report LQM to User Land 50, fAverageRSSI -71Jul 3 18:33:06 Sergis-iPhone backupd[1024] <Warning>: INFO: Scheduling next backup at 7/4/13, 3:29:45 AMJul 3 18:33:07 Sergis-iPhone backboardd[28] <Notice>: ALS: SetDisplayFactor: factor=0.0000Jul 3 18:33:07 Sergis-iPhone kernel[0] <Debug>: AppleMultitouchN1SPI: updating power statisticsJul 3 18:33:07 Sergis-iPhone backboardd[28] <Notice>: MultitouchHID: detection mode: 3->255Jul 3 18:33:08 Sergis-iPhone kernel[0] <Debug>: ALS: AppleARMBacklight::setBacklightEnableGated 0 (set level to 0x1f7)Jul 3 18:33:08 Sergis-iPhone backboardd[28] <Notice>: Posting 'com.apple.iokit.hid.displayStatus' notifyState=0Jul 3 18:33:08 Sergis-iPhone wifid[15] <Notice>: WiFi:[394561988.447980]: Device display is OFFJul 3 18:33:08 Sergis-iPhone kernel[0] <Debug>: ALS: AppleARMBacklight::handleMessageGated - framebufferState -> 0Jul 3 18:33:17 Sergis-iPhone profiled[1025] <Notice>: (Note ) profiled: Service stopping.Jul 3 18:33:25 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562005.352055]: Client networkd set type to normal applicationJul 3 18:33:25 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562005.356643]: BG Application: Not Present, BG Daemon: Present. Daemons: apsd Jul 3 18:33:26 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562006.091701]: Client networkd set type to background applicationJul 3 18:33:26 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562006.092821]: BG Application: Not Present, BG Daemon: Present. Daemons: networkd apsd Jul 3 18:33:26 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562006.093580]: Already connected to Dormirdcine.Jul 3 18:33:31 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562011.840759]: Client networkd set type to normal applicationJul 3 18:33:31 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562011.841843]: BG Application: Not Present, BG Daemon: Present. Daemons: apsd Jul 3 18:33:59 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562039.899209]: WoW is Enabled, 1 WoW ClientsJul 3 18:33:59 Sergis-iPhone kernel[0] <Debug>: 012818.052047 wlan.A[2938] AppleBCMWLANNetManager::updateLinkQualityMetrics(): Report LQM to User Land 100, fAverageRSSI -70Jul 3 18:34:01 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562041.400302]: Creating client for "itunesstored"Jul 3 18:34:01 Sergis-iPhone itunesstored[1027] <Warning>: LaunchServices: Registering as observer with lsdJul 3 18:34:01 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562041.763969]: Client itunesstored set type to background applicationJul 3 18:34:01 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562041.764812]: BG Application: Not Present, BG Daemon: Present. Daemons: itunesstored apsd Jul 3 18:34:01 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562041.765639]: Already connected to Dormirdcine.Jul 3 18:34:01 Sergis-iPhone itunesstored[1027] <Warning>: iTunes Store environment is: ST11Jul 3 18:34:04 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562044.084790]: Client networkd set type to background applicationJul 3 18:34:04 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562044.086342]: BG Application: Not Present, BG Daemon: Present. Daemons: itunesstored apsd networkd Jul 3 18:34:04 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562044.087068]: Already connected to Dormirdcine.Jul 3 18:34:05 Sergis-iPhone securityd[85] <Error>: OCSPResponse: now > latestNextUpdateJul 3 18:34:05 Sergis-iPhone securityd[85] <Error>: OCSPResponse: now > latestNextUpdateJul 3 18:34:07 Sergis-iPhone securityd[85] <Error>: OCSPResponse: now + maxAge > latestNextUpdate, using latestNextUpdateJul 3 18:34:07 Sergis-iPhone securityd[85] <Error>: OCSPResponse: now + maxAge > latestNextUpdate, using latestNextUpdateJul 3 18:34:14 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562054.825934]: Client itunesstored set type to normal applicationJul 3 18:34:14 Sergis-iPhone wifid[15] <Notice>: WiFi:[394562054.827106]: BG Application: Not Present, BG Daemon: Present. Daemons: apsd networkd

33

MonitorizaciónLogs

iOS

Xcode Organizer Device Logs→ Trazas de error por app

34

MonitorizaciónLogs

Android

$ adb logcat

35

MonitorizaciónLogs

Android

Eclipse, Android Studio

36

Caso prácticoAtención al usuario

37

Backups

MatizamosBackup de datos de aplicacionesBackup de sistema: apps instaladas, configuración... todo menos contenido tarjeta SD

38

BackupsiOS

iTunes

39

BackupsAndroid

NANDroidEs un “standard” para el formato de backupsBootloader en modo recuperaciónOnline Nandroid BackupApp para evitar entrar en recovery mode

Necesitas root y BusyBox (utilidades extra)

40

BackupsAndroid

Helium

No necesitas rootSólo backups de apps, SMS y registro llamadasBackup en PC y en Dropbox/Box/Google Drive (sólo versión de pago)

41

BackupsAndroid

Titanium Backup

Backups completosNecesitas root

42

Backups

¿Tiene sentido realizar backups de sistema completos?¿Backups sin acceso root?¿Es escalable?

43

AntivirusiOS

44

AntivirusAndroid

45

top related